(function (root, factory){ if(typeof define==='function'&&define.amd){ define(['moment', 'jquery'], function (moment, jquery){ if(!jquery.fn) jquery.fn={}; if(typeof moment!=='function'&&moment.default) moment=moment.default return factory(moment, jquery); }); }else if(typeof module==='object'&&module.exports){ var jQuery=(typeof window!='undefined') ? window.jQuery:undefined; if(!jQuery){ jQuery=require('jquery'); if(!jQuery.fn) jQuery.fn={};} var moment=(typeof window!='undefined'&&typeof window.moment!='undefined') ? window.moment:require('moment'); module.exports=factory(moment, jQuery); }else{ root.daterangepicker=factory(root.moment, root.jQuery); }}(this, function(moment, $){ var DateRangePicker=function(element, options, cb){ this.parentEl='body'; this.element=$(element); this.startDate=moment().startOf('day'); this.endDate=moment().endOf('day'); this.minDate=false; this.minDateSpan=false; this.maxDate=false; this.maxSpan=false; this.minSpan=false; this.start_date_picked=0; this.autoApply=false; this.singleDatePicker=false; this.showDropdowns=false; this.minYear=moment().subtract(100, 'year').format('YYYY'); this.maxYear=moment().add(100, 'year').format('YYYY'); this.showWeekNumbers=false; this.showISOWeekNumbers=false; this.showCustomRangeLabel=true; this.timePicker=false; this.timePicker24Hour=false; this.timePickerIncrement=1; this.timePickerSeconds=false; this.linkedCalendars=true; this.autoUpdateInput=true; this.alwaysShowCalendars=false; this.ranges={}; this.opens='right'; if(this.element.hasClass('pull-right')) this.opens='left'; this.drops='down'; if(this.element.hasClass('dropup')) this.drops='up'; this.buttonClasses='btn btn-sm'; this.applyButtonClasses='btn-primary'; this.cancelButtonClasses='btn-default'; this.locale={ direction: 'ltr', format: moment.localeData().longDateFormat('L'), separator: ' - ', applyLabel: 'Apply', cancelLabel: 'Cancel', weekLabel: 'W', customRangeLabel: 'Custom Range', daysOfWeek: moment.weekdaysMin(), monthNames: moment.monthsShort(), firstDay: moment.localeData().firstDayOfWeek() }; this.callback=function(){ }; this.isShowing=false; this.leftCalendar={}; this.rightCalendar={}; if(typeof options!=='object'||options===null) options={}; options=$.extend(this.element.data(), options); if(typeof options.showPrice=='boolean'){ this.showPrice=options.showPrice; } if(typeof options.template!=='string'&&!(options.template instanceof $)) options.template = '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + ' ' + '
' + '
'; this.parentEl=(options.parentEl&&$(options.parentEl).length) ? $(options.parentEl):$(this.parentEl); this.container=$(options.template).appendTo(this.parentEl); if(typeof options.locale==='object'){ if(typeof options.locale.direction==='string') this.locale.direction=options.locale.direction; if(typeof options.locale.format==='string') this.locale.format=options.locale.format; if(typeof options.locale.separator==='string') this.locale.separator=options.locale.separator; if(typeof options.locale.daysOfWeek==='object') this.locale.daysOfWeek=options.locale.daysOfWeek.slice(); if(typeof options.locale.monthNames==='object') this.locale.monthNames=options.locale.monthNames.slice(); if(typeof options.locale.firstDay==='number') this.locale.firstDay=options.locale.firstDay; if(typeof options.locale.applyLabel==='string') this.locale.applyLabel=options.locale.applyLabel; if(typeof options.locale.cancelLabel==='string') this.locale.cancelLabel=options.locale.cancelLabel; if(typeof options.locale.weekLabel==='string') this.locale.weekLabel=options.locale.weekLabel; if(typeof options.locale.customRangeLabel==='string'){ var elem=document.createElement('textarea'); elem.innerHTML=options.locale.customRangeLabel; var rangeHtml=elem.value; this.locale.customRangeLabel=rangeHtml; }} this.container.addClass(this.locale.direction); if(typeof options.startDate==='string') this.startDate=moment(options.startDate, this.locale.format); if(typeof options.endDate==='string') this.endDate=moment(options.endDate, this.locale.format); if(typeof options.minDate==='string') this.minDate=moment(options.minDate, this.locale.format); if(typeof options.maxDate==='string') this.maxDate=moment(options.maxDate, this.locale.format); if(typeof options.startDate==='object') this.startDate=moment(options.startDate); if(typeof options.endDate==='object') this.endDate=moment(options.endDate); if(typeof options.minDate==='object') this.minDate=moment(options.minDate); if(typeof options.maxDate==='object') this.maxDate=moment(options.maxDate); if(this.minDate&&this.startDate.isBefore(this.minDate)) this.startDate=this.minDate.clone(); if(this.maxDate&&this.endDate.isAfter(this.maxDate)) this.endDate=this.maxDate.clone(); if(typeof options.applyButtonClasses==='string') this.applyButtonClasses=options.applyButtonClasses; if(typeof options.applyClass==='string') this.applyButtonClasses=options.applyClass; if(typeof options.cancelButtonClasses==='string') this.cancelButtonClasses=options.cancelButtonClasses; if(typeof options.cancelClass==='string') this.cancelButtonClasses=options.cancelClass; if(typeof options.maxSpan==='object') this.maxSpan=options.maxSpan; if(typeof options.minSpan==='object'){ this.minSpan=options.minSpan; } if(typeof options.dateLimit==='object') this.maxSpan=options.dateLimit; if(typeof options.opens==='string') this.opens=options.opens; if(typeof options.drops==='string') this.drops=options.drops; if(typeof options.showWeekNumbers==='boolean') this.showWeekNumbers=options.showWeekNumbers; if(typeof options.showISOWeekNumbers==='boolean') this.showISOWeekNumbers=options.showISOWeekNumbers; if(typeof options.buttonClasses==='string') this.buttonClasses=options.buttonClasses; if(typeof options.buttonClasses==='object') this.buttonClasses=options.buttonClasses.join(' '); if(typeof options.showDropdowns==='boolean') this.showDropdowns=options.showDropdowns; if(typeof options.minYear==='number') this.minYear=options.minYear; if(typeof options.maxYear==='number') this.maxYear=options.maxYear; if(typeof options.showCustomRangeLabel==='boolean') this.showCustomRangeLabel=options.showCustomRangeLabel; if(typeof options.singleDatePicker==='boolean'){ this.singleDatePicker=options.singleDatePicker; if(this.singleDatePicker) this.endDate=this.startDate.clone(); } if(typeof options.timePicker==='boolean') this.timePicker=options.timePicker; if(typeof options.timePickerSeconds==='boolean') this.timePickerSeconds=options.timePickerSeconds; if(typeof options.timePickerIncrement==='number') this.timePickerIncrement=options.timePickerIncrement; if(typeof options.timePicker24Hour==='boolean') this.timePicker24Hour=options.timePicker24Hour; if(typeof options.autoApply==='boolean') this.autoApply=options.autoApply; if(typeof options.autoUpdateInput==='boolean') this.autoUpdateInput=options.autoUpdateInput; if(typeof options.linkedCalendars==='boolean') this.linkedCalendars=options.linkedCalendars; if(typeof options.isInvalidDate==='function') this.isInvalidDate=options.isInvalidDate; if(typeof options.isCustomDate==='function') this.isCustomDate=options.isCustomDate; if(typeof options.alwaysShowCalendars==='boolean') this.alwaysShowCalendars=options.alwaysShowCalendars; if(this.locale.firstDay!=0){ var iterator=this.locale.firstDay; while (iterator > 0){ this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); iterator--; }} var start, end, range; if(typeof options.startDate==='undefined'&&typeof options.endDate==='undefined'){ if($(this.element).is(':text')){ var val=$(this.element).val(), split=val.split(this.locale.separator); start=end=null; if(split.length==2){ start=moment(split[0], this.locale.format); end=moment(split[1], this.locale.format); }else if(this.singleDatePicker&&val!==""){ start=moment(val, this.locale.format); end=moment(val, this.locale.format); } if(start!==null&&end!==null){ this.setStartDate(start); this.setEndDate(end); }} } if(typeof options.ranges==='object'){ for (range in options.ranges){ if(typeof options.ranges[range][0]==='string') start=moment(options.ranges[range][0], this.locale.format); else start=moment(options.ranges[range][0]); if(typeof options.ranges[range][1]==='string') end=moment(options.ranges[range][1], this.locale.format); else end=moment(options.ranges[range][1]); if(this.minDate&&start.isBefore(this.minDate)) start=this.minDate.clone(); var maxDate=this.maxDate; if(this.maxSpan&&maxDate&&start.clone().add(this.maxSpan).isAfter(maxDate)) maxDate=start.clone().add(this.maxSpan); if(maxDate&&end.isAfter(maxDate)) end=maxDate.clone(); if(this.minSpan){ this.minDateSpan=start.clone().add(this.minSpan); } if((this.minDate&&end.isBefore(this.minDate, this.timepicker ? 'minute':'day')) || (maxDate&&start.isAfter(maxDate, this.timepicker ? 'minute':'day'))) continue; var elem=document.createElement('textarea'); elem.innerHTML=range; var rangeHtml=elem.value; this.ranges[rangeHtml]=[start, end]; } var list=''; this.container.find('.ranges').prepend(list); } if(typeof cb==='function'){ this.callback=cb; } if(!this.timePicker){ this.startDate=this.startDate.startOf('day'); this.endDate=this.endDate.endOf('day'); this.container.find('.calendar-time').hide(); } if(this.timePicker&&this.autoApply) this.autoApply=false; if(this.autoApply){ this.container.addClass('auto-apply'); } if(typeof options.ranges==='object') this.container.addClass('show-ranges'); if(this.singleDatePicker){ this.container.addClass('single'); this.container.find('.drp-calendar.left').addClass('single'); this.container.find('.drp-calendar.left').show(); this.container.find('.drp-calendar.right').hide(); if(!this.timePicker){ this.container.addClass('auto-apply'); }} if((typeof options.ranges==='undefined'&&!this.singleDatePicker)||this.alwaysShowCalendars){ this.container.addClass('show-calendar'); } this.container.addClass('opens' + this.opens); this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses); if(this.applyButtonClasses.length) this.container.find('.applyBtn').addClass(this.applyButtonClasses); if(this.cancelButtonClasses.length) this.container.find('.cancelBtn').addClass(this.cancelButtonClasses); this.container.find('.applyBtn').html(this.locale.applyLabel); this.container.find('.cancelBtn').html(this.locale.cancelLabel); this.container.find('.drp-calendar') .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)) .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)) .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)) .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)) .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)) .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)) .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this)) this.container.find('.ranges') .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this)) this.container.find('.drp-buttons') .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)) .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this)) if(this.element.is('input')||this.element.is('button')){ this.element.on({ 'click.daterangepicker': $.proxy(this.show, this), 'focus.daterangepicker': $.proxy(this.show, this), 'keyup.daterangepicker': $.proxy(this.elementChanged, this), 'keydown.daterangepicker': $.proxy(this.keydown, this) }); }else{ this.element.on('click.daterangepicker', $.proxy(this.toggle, this)); this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this)); } this.updateElement(); }; DateRangePicker.prototype={ constructor: DateRangePicker, setStartDate: function(startDate){ if(typeof startDate==='string') this.startDate=moment(startDate, this.locale.format); if(typeof startDate==='object') this.startDate=moment(startDate); if(!this.timePicker) this.startDate=this.startDate.startOf('day'); if(this.timePicker&&this.timePickerIncrement) this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); if(this.minDate&&this.startDate.isBefore(this.minDate)){ this.startDate=this.minDate.clone(); if(this.timePicker&&this.timePickerIncrement) this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); } if(this.maxDate&&this.startDate.isAfter(this.maxDate)){ this.startDate=this.maxDate.clone(); if(this.timePicker&&this.timePickerIncrement) this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); } if(!this.isShowing) this.updateElement(); this.updateMonthsInView(); }, setEndDate: function(endDate){ if(typeof endDate==='string') this.endDate=moment(endDate, this.locale.format); if(typeof endDate==='object') this.endDate=moment(endDate); if(!this.timePicker) this.endDate=this.endDate.endOf('day'); if(this.timePicker&&this.timePickerIncrement) this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); if(this.endDate.isBefore(this.startDate)) this.endDate=this.startDate.clone(); if(this.maxDate&&this.endDate.isAfter(this.maxDate)) this.endDate=this.maxDate.clone(); if(this.maxSpan&&this.startDate.clone().add(this.maxSpan).isBefore(this.endDate)) this.endDate=this.startDate.clone().add(this.maxSpan); this.previousRightTime=this.endDate.clone(); this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); if(!this.isShowing) this.updateElement(); this.updateMonthsInView(); }, isInvalidDate: function(){ return false; }, isCustomDate: function(){ return false; }, updateView: function(){ if(this.timePicker){ this.renderTimePicker('left'); this.renderTimePicker('right'); if(!this.endDate){ this.container.find('.right .calendar-time select').prop('disabled', true).addClass('disabled'); }else{ this.container.find('.right .calendar-time select').prop('disabled', false).removeClass('disabled'); }} if(this.endDate) this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); this.updateMonthsInView(); this.updateCalendars(); this.updateFormInputs(); }, updateMonthsInView: function(){ if(this.endDate){ if(!this.singleDatePicker&&this.leftCalendar.month&&this.rightCalendar.month && (this.startDate.format('YYYY-MM')==this.leftCalendar.month.format('YYYY-MM')||this.startDate.format('YYYY-MM')==this.rightCalendar.month.format('YYYY-MM')) && (this.endDate.format('YYYY-MM')==this.leftCalendar.month.format('YYYY-MM')||this.endDate.format('YYYY-MM')==this.rightCalendar.month.format('YYYY-MM')) ){ return; } this.leftCalendar.month=this.startDate.clone().date(2); if(!this.linkedCalendars&&(this.endDate.month()!=this.startDate.month()||this.endDate.year()!=this.startDate.year())){ this.rightCalendar.month=this.endDate.clone().date(2); }else{ this.rightCalendar.month=this.startDate.clone().date(2).add(1, 'month'); }}else{ if(this.leftCalendar.month.format('YYYY-MM')!=this.startDate.format('YYYY-MM')&&this.rightCalendar.month.format('YYYY-MM')!=this.startDate.format('YYYY-MM')){ this.leftCalendar.month=this.startDate.clone().date(2); this.rightCalendar.month=this.startDate.clone().date(2).add(1, 'month'); }} if(this.maxDate&&this.linkedCalendars&&!this.singleDatePicker&&this.rightCalendar.month > this.maxDate){ this.rightCalendar.month=this.maxDate.clone().date(2); this.leftCalendar.month=this.maxDate.clone().date(2).subtract(1, 'month'); }}, updateCalendars: function(){ if(this.timePicker){ var hour, minute, second; if(this.endDate){ hour=parseInt(this.container.find('.left .hourselect').val(), 10); minute=parseInt(this.container.find('.left .minuteselect').val(), 10); if(isNaN(minute)){ minute=parseInt(this.container.find('.left .minuteselect option:last').val(), 10); } second=this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10):0; if(!this.timePicker24Hour){ var ampm=this.container.find('.left .ampmselect').val(); if(ampm==='PM'&&hour < 12) hour +=12; if(ampm==='AM'&&hour===12) hour=0; }}else{ hour=parseInt(this.container.find('.right .hourselect').val(), 10); minute=parseInt(this.container.find('.right .minuteselect').val(), 10); if(isNaN(minute)){ minute=parseInt(this.container.find('.right .minuteselect option:last').val(), 10); } second=this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10):0; if(!this.timePicker24Hour){ var ampm=this.container.find('.right .ampmselect').val(); if(ampm==='PM'&&hour < 12) hour +=12; if(ampm==='AM'&&hour===12) hour=0; }} this.leftCalendar.month.hour(hour).minute(minute).second(second); this.rightCalendar.month.hour(hour).minute(minute).second(second); } this.renderCalendar('left'); this.renderCalendar('right'); this.container.find('.ranges li').removeClass('active'); if(this.endDate==null) return; this.calculateChosenLabel(); }, renderCalendar: function(side){ var calendar=side=='left' ? this.leftCalendar:this.rightCalendar; var month=calendar.month.month(); var year=calendar.month.year(); var hour=calendar.month.hour(); var minute=calendar.month.minute(); var second=calendar.month.second(); var daysInMonth=moment([year, month]).daysInMonth(); var firstDay=moment([year, month, 1]); var lastDay=moment([year, month, daysInMonth]); var lastMonth=moment(firstDay).subtract(1, 'month').month(); var lastYear=moment(firstDay).subtract(1, 'month').year(); var daysInLastMonth=moment([lastYear, lastMonth]).daysInMonth(); var dayOfWeek=firstDay.day(); var calendar=[]; calendar.firstDay=firstDay; calendar.lastDay=lastDay; for (var i=0; i < 6; i++){ calendar[i]=[]; } var startDay=daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; if(startDay > daysInLastMonth) startDay -=7; if(dayOfWeek==this.locale.firstDay) startDay=daysInLastMonth - 6; var curDate=moment([lastYear, lastMonth, startDay, 12, minute, second]); var col, row; for (var i=0, col=0, row=0; i < 42; i++, col++, curDate=moment(curDate).add(24, 'hour')){ if(i > 0&&col % 7===0){ col=0; row++; } calendar[row][col]=curDate.clone().hour(hour).minute(minute).second(second); curDate.hour(12); if(this.minDate&&calendar[row][col].format('YYYY-MM-DD')==this.minDate.format('YYYY-MM-DD')&&calendar[row][col].isBefore(this.minDate)&&side=='left'){ calendar[row][col]=this.minDate.clone(); } if(this.maxDate&&calendar[row][col].format('YYYY-MM-DD')==this.maxDate.format('YYYY-MM-DD')&&calendar[row][col].isAfter(this.maxDate)&&side=='right'){ calendar[row][col]=this.maxDate.clone(); }} if(side=='left'){ this.leftCalendar.calendar=calendar; }else{ this.rightCalendar.calendar=calendar; } var minDate=side=='left' ? this.minDate:this.startDate; var maxDate=this.maxDate; var selected=side=='left' ? this.startDate:this.endDate; var arrow=this.locale.direction=='ltr' ? {left: 'chevron-left', right: 'chevron-right'}:{left: 'chevron-right', right: 'chevron-left'}; var html=''; html +=''; html +=''; if(this.showWeekNumbers||this.showISOWeekNumbers) html +=''; if((!minDate||minDate.isBefore(calendar.firstDay))&&(!this.linkedCalendars||side=='left')){ html +=''; }else{ html +=''; } var dateHtml=this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY"); if(this.showDropdowns){ var currentMonth=calendar[1][1].month(); var currentYear=calendar[1][1].year(); var maxYear=(maxDate&&maxDate.year())||(this.maxYear); var minYear=(minDate&&minDate.year())||(this.minYear); var inMinYear=currentYear==minYear; var inMaxYear=currentYear==maxYear; var monthHtml='"; var yearHtml=''; dateHtml=monthHtml + yearHtml; } html +=''; if((!maxDate||maxDate.isAfter(calendar.lastDay))&&(!this.linkedCalendars||side=='right'||this.singleDatePicker)){ html +=''; }else{ html +=''; } html +=''; html +=''; if(this.showWeekNumbers||this.showISOWeekNumbers) html +=''; $.each(this.locale.daysOfWeek, function(index, dayOfWeek){ html +=''; }); html +=''; html +=''; html +=''; if(this.endDate==null&&this.maxSpan){ var maxLimit=this.startDate.clone().add(this.maxSpan).endOf('day'); if(!maxDate||maxLimit.isBefore(maxDate)){ maxDate=maxLimit; }} if(this.endDate==null&&this.minSpan){ var minLimit=this.startDate.clone().add(this.minSpan).endOf('day'); if(!minDate||minLimit.isAfter(minDate)){ this.minDateSpan=minLimit; }} for (var row=0; row < 6; row++){ html +=''; if(this.showWeekNumbers) html +=''; else if(this.showISOWeekNumbers) html +=''; for (var col=0; col < 7; col++){ var classes=[]; if(calendar[row][col].isSame(new Date(), "day")) classes.push('today'); if(calendar[row][col].isoWeekday() > 5) classes.push('weekend'); if(calendar[row][col].month()!=calendar[1][1].month()) classes.push('off', 'ends'); if(this.minDate&&calendar[row][col].isBefore(this.minDate, 'day')) classes.push('off', 'disabled'); if(maxDate&&calendar[row][col].isAfter(maxDate, 'day')) classes.push('off', 'disabled'); var infome=calendar[row][col].year()+"/"+(calendar[row][col].month()+1)+"/"+calendar[row][col].date(); var date_format=control_vars.date_format.toUpperCase(); var infome2=moment(infome, 'YYYY-M-DD').format(date_format); var infome_unix=moment(infome, 'YYYY-M-DD').valueOf(); if(this.element[0].id==='start_date'){ if(wpestate_booking_invalid_Date_new(infome_unix)==='is_block_check_in_check_out'){ classes.push('check_in_block','disabled'); }else if(wpestate_booking_invalid_Date_new(infome_unix)==='is_block_check_in'){ classes.push('check_in_block_is_block_check_in','disabled'); } if(this.start_date_picked===1&&calendar[row][col].isAfter(this.startDate, 'day')){ for(var i=0; i < classes.length; i++){ if(classes[i]==='check_in_block_is_block_check_in'){ classes.splice(i, 1); }} for(var i=0; i < classes.length; i++){ if(classes[i]==='disabled'){ classes.splice(i, 1); }} } if(typeof(mega_details)==='object'){ var minday_unix=moment(this.startDate).utc().add(moment(this.startDate).utcOffset(),'minutes').valueOf(); var minday_unix=minday_unix/1000; if(mega_details[minday_unix]!=undefined){ minim_days=parseFloat(mega_details[minday_unix]['period_min_days_booking'] ,10); var temp_min_span={ "days": minim_days }; var minLimit=this.startDate.clone().add(temp_min_span).endOf('day'); this.minDateSpan=minLimit; } if(this.minDateSpan&&this.startDate&&calendar[row][col].isBefore(this.minDateSpan, 'day')&&calendar[row][col].isAfter(this.startDate, 'day')){ classes.push('wpestate_min_days_required', 'disabled'); classes.push('off', 'disabled'); }} } if(this.isInvalidDate(calendar[row][col])) classes.push('off', 'disabled'); if(calendar[row][col].format('YYYY-MM-DD')==this.startDate.format('YYYY-MM-DD')) classes.push('active', 'start-date'); if(this.endDate!=null&&calendar[row][col].format('YYYY-MM-DD')==this.endDate.format('YYYY-MM-DD')) classes.push('active', 'end-date'); if(this.endDate!=null&&calendar[row][col] > this.startDate&&calendar[row][col] < this.endDate) classes.push('in-range'); var isCustom=this.isCustomDate(calendar[row][col]); if(isCustom!==false){ if(typeof isCustom==='string') classes.push(isCustom); else Array.prototype.push.apply(classes, isCustom); } var cname='', disabled=false; for (var i=0; i < classes.length; i++){ cname +=classes[i] + ' '; if(classes[i]=='disabled') disabled=true; } if(!disabled) cname +='available'; if(typeof wpestate_show_price_Daterangepicker==="function"&&this.element[0].id==='start_date'){ html +=''; }else{ html +=''; }} html +=''; } html +=''; html +='
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
'+wpestate_show_price_Daterangepicker(infome_unix)+'
' + calendar[row][col].date() + '
'; this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html); }, renderTimePicker: function(side){ if(side=='right'&&!this.endDate) return; var html, selected, minDate, maxDate=this.maxDate; if(this.maxSpan&&(!this.maxDate||this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate))) maxDate=this.startDate.clone().add(this.maxSpan); if(side=='left'){ selected=this.startDate.clone(); minDate=this.minDate; }else if(side=='right'){ selected=this.endDate.clone(); minDate=this.startDate; var timeSelector=this.container.find('.drp-calendar.right .calendar-time'); if(timeSelector.html()!=''){ selected.hour(!isNaN(selected.hour()) ? selected.hour():timeSelector.find('.hourselect option:selected').val()); selected.minute(!isNaN(selected.minute()) ? selected.minute():timeSelector.find('.minuteselect option:selected').val()); selected.second(!isNaN(selected.second()) ? selected.second():timeSelector.find('.secondselect option:selected').val()); if(!this.timePicker24Hour){ var ampm=timeSelector.find('.ampmselect option:selected').val(); if(ampm==='PM'&&selected.hour() < 12) selected.hour(selected.hour() + 12); if(ampm==='AM'&&selected.hour()===12) selected.hour(0); }} if(selected.isBefore(this.startDate)) selected=this.startDate.clone(); if(maxDate&&selected.isAfter(maxDate)) selected=maxDate.clone(); } html=' '; html +=': '; if(this.timePickerSeconds){ html +=': '; } if(!this.timePicker24Hour){ html +=''; } this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html); }, updateFormInputs: function(){ if(this.singleDatePicker||(this.endDate&&(this.startDate.isBefore(this.endDate)||this.startDate.isSame(this.endDate)))){ this.container.find('button.applyBtn').prop('disabled', false); }else{ this.container.find('button.applyBtn').prop('disabled', true); }}, move: function(){ var parentOffset={ top: 0, left: 0 }, containerTop; var parentRightEdge=$(window).width(); if(!this.parentEl.is('body')){ parentOffset={ top: this.parentEl.offset().top - this.parentEl.scrollTop(), left: this.parentEl.offset().left - this.parentEl.scrollLeft() }; parentRightEdge=this.parentEl[0].clientWidth + this.parentEl.offset().left; } if(this.drops=='up') containerTop=this.element.offset().top - this.container.outerHeight() - parentOffset.top; else containerTop=this.element.offset().top + this.element.outerHeight() - parentOffset.top; this.container.css({ top: 0, left: 0, right: 'auto' }); var containerWidth=this.container.outerWidth(); this.container[this.drops=='up' ? 'addClass':'removeClass']('drop-up'); if(this.opens=='left'){ var containerRight=parentRightEdge - this.element.offset().left - this.element.outerWidth(); if(containerWidth + containerRight > $(window).width()){ this.container.css({ top: containerTop, right: 'auto', left: 9 }); }else{ this.container.css({ top: containerTop, right: containerRight, left: 'auto' }); }}else if(this.opens=='center'){ var containerLeft=this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 - containerWidth / 2; if(containerLeft < 0){ this.container.css({ top: containerTop, right: 'auto', left: 9 }); }else if(containerLeft + containerWidth > $(window).width()){ this.container.css({ top: containerTop, left: 'auto', right: 0 }); }else{ this.container.css({ top: containerTop, left: containerLeft, right: 'auto' }); }}else{ var containerLeft=this.element.offset().left - parentOffset.left; if(containerLeft + containerWidth > $(window).width()){ this.container.css({ top: containerTop, left: 'auto', right: 0 }); }else{ this.container.css({ top: containerTop, left: containerLeft, right: 'auto' }); }} }, show: function(e){ if(this.isShowing) return; this._outsideClickProxy=$.proxy(function(e){ this.outsideClick(e); }, this); $(document) .on('mousedown.daterangepicker', this._outsideClickProxy) .on('touchend.daterangepicker', this._outsideClickProxy) .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) .on('focusin.daterangepicker', this._outsideClickProxy); $(window).on('resize.daterangepicker', $.proxy(function(e){ this.move(e); }, this)); this.oldStartDate=this.startDate.clone(); this.oldEndDate=this.endDate.clone(); this.previousRightTime=this.endDate.clone(); this.updateView(); this.container.show(); this.move(); this.element.trigger('show.daterangepicker', this); this.isShowing=true; }, hide: function(e){ if(!this.isShowing) return; if(!this.endDate){ this.startDate=this.oldStartDate.clone(); this.endDate=this.oldEndDate.clone(); } if(!this.startDate.isSame(this.oldStartDate)||!this.endDate.isSame(this.oldEndDate)) this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel); this.updateElement(); $(document).off('.daterangepicker'); $(window).off('.daterangepicker'); this.container.hide(); this.element.trigger('hide.daterangepicker', this); this.isShowing=false; }, toggle: function(e){ if(this.isShowing){ this.hide(); }else{ this.show(); }}, outsideClick: function(e){ var target=$(e.target); if(e.type=="focusin" || target.closest(this.element).length || target.closest(this.container).length || target.closest('.calendar-table').length ) return; this.hide(); this.element.trigger('outsideClick.daterangepicker', this); }, showCalendars: function(){ this.container.addClass('show-calendar'); this.move(); this.element.trigger('showCalendar.daterangepicker', this); }, hideCalendars: function(){ this.container.removeClass('show-calendar'); this.element.trigger('hideCalendar.daterangepicker', this); }, clickRange: function(e){ var label=e.target.getAttribute('data-range-key'); this.chosenLabel=label; if(label==this.locale.customRangeLabel){ this.showCalendars(); }else{ var dates=this.ranges[label]; this.startDate=dates[0]; this.endDate=dates[1]; if(!this.timePicker){ this.startDate.startOf('day'); this.endDate.endOf('day'); } if(!this.alwaysShowCalendars) this.hideCalendars(); this.clickApply(); }}, clickPrev: function(e){ var cal=$(e.target).parents('.drp-calendar'); if(cal.hasClass('left')){ this.leftCalendar.month.subtract(1, 'month'); if(this.linkedCalendars) this.rightCalendar.month.subtract(1, 'month'); }else{ this.rightCalendar.month.subtract(1, 'month'); } this.updateCalendars(); }, clickNext: function(e){ var cal=$(e.target).parents('.drp-calendar'); if(cal.hasClass('left')){ this.leftCalendar.month.add(1, 'month'); }else{ this.rightCalendar.month.add(1, 'month'); if(this.linkedCalendars) this.leftCalendar.month.add(1, 'month'); } this.updateCalendars(); }, hoverDate: function(e){ if(!$(e.target).hasClass('available')) return; var title=$(e.target).attr('data-title'); var row=title.substr(1, 1); var col=title.substr(3, 1); var cal=$(e.target).parents('.drp-calendar'); var date=cal.hasClass('left') ? this.leftCalendar.calendar[row][col]:this.rightCalendar.calendar[row][col]; var leftCalendar=this.leftCalendar; var rightCalendar=this.rightCalendar; var startDate=this.startDate; if(!this.endDate){ this.container.find('.drp-calendar tbody td').each(function(index, el){ if($(el).hasClass('week')) return; var title=$(el).attr('data-title'); var row=title.substr(1, 1); var col=title.substr(3, 1); var cal=$(el).parents('.drp-calendar'); var dt=cal.hasClass('left') ? leftCalendar.calendar[row][col]:rightCalendar.calendar[row][col]; if((dt.isAfter(startDate)&&dt.isBefore(date))||dt.isSame(date, 'day')){ $(el).addClass('in-range'); }else{ $(el).removeClass('in-range'); }}); }}, clickDate: function(e){ who_is=1; jQuery('.wpestate_calendar').removeClass('minim_days_reservation').removeClass('wpestate_min_days_required'); if(!$(e.target).hasClass('available')) return; var title=$(e.target).attr('data-title'); var row=title.substr(1, 1); var col=title.substr(3, 1); var cal=$(e.target).parents('.drp-calendar'); var date=cal.hasClass('left') ? this.leftCalendar.calendar[row][col]:this.rightCalendar.calendar[row][col]; if(this.endDate||date.isBefore(this.startDate, 'day')){ if(this.timePicker){ var hour=parseInt(this.container.find('.left .hourselect').val(), 10); if(!this.timePicker24Hour){ var ampm=this.container.find('.left .ampmselect').val(); if(ampm==='PM'&&hour < 12) hour +=12; if(ampm==='AM'&&hour===12) hour=0; } var minute=parseInt(this.container.find('.left .minuteselect').val(), 10); if(isNaN(minute)){ minute=parseInt(this.container.find('.left .minuteselect option:last').val(), 10); } var second=this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10):0; date=date.clone().hour(hour).minute(minute).second(second); } this.endDate=null; this.setStartDate(date.clone()); who_is=0; var input_val=$(e.target).attr("data-custom"); this.element.val(input_val); this.start_date_picked=1; }else if(!this.endDate&&date.isBefore(this.startDate)){ this.setEndDate(this.startDate.clone()); who_is=1; }else{ if(this.timePicker){ var hour=parseInt(this.container.find('.right .hourselect').val(), 10); if(!this.timePicker24Hour){ var ampm=this.container.find('.right .ampmselect').val(); if(ampm==='PM'&&hour < 12) hour +=12; if(ampm==='AM'&&hour===12) hour=0; } var minute=parseInt(this.container.find('.right .minuteselect').val(), 10); if(isNaN(minute)){ minute=parseInt(this.container.find('.right .minuteselect option:last').val(), 10); } var second=this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10):0; date=date.clone().hour(hour).minute(minute).second(second); } this.setEndDate(date.clone()); if(this.autoApply){ this.calculateChosenLabel(); this.clickApply(); } this.start_date_picked=0; } if(this.singleDatePicker){ this.setEndDate(this.startDate); if(!this.timePicker) this.clickApply(); } this.updateView(); e.stopPropagation(); }, calculateChosenLabel: function (){ var customRange=true; var i=0; for (var range in this.ranges){ if(this.timePicker){ var format=this.timePickerSeconds ? "YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD HH:mm"; if(this.startDate.format(format)==this.ranges[range][0].format(format)&&this.endDate.format(format)==this.ranges[range][1].format(format)){ customRange=false; this.chosenLabel=this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); break; }}else{ if(this.startDate.format('YYYY-MM-DD')==this.ranges[range][0].format('YYYY-MM-DD')&&this.endDate.format('YYYY-MM-DD')==this.ranges[range][1].format('YYYY-MM-DD')){ customRange=false; this.chosenLabel=this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); break; }} i++; } if(customRange){ if(this.showCustomRangeLabel){ this.chosenLabel=this.container.find('.ranges li:last').addClass('active').attr('data-range-key'); }else{ this.chosenLabel=null; } this.showCalendars(); }}, clickApply: function(e){ this.hide(); this.element.trigger('apply.daterangepicker', this); }, clickCancel: function(e){ this.startDate=this.oldStartDate; this.endDate=this.oldEndDate; this.hide(); this.element.trigger('cancel.daterangepicker', this); }, monthOrYearChanged: function(e){ var isLeft=$(e.target).closest('.drp-calendar').hasClass('left'), leftOrRight=isLeft ? 'left':'right', cal=this.container.find('.drp-calendar.'+leftOrRight); var month=parseInt(cal.find('.monthselect').val(), 10); var year=cal.find('.yearselect').val(); if(!isLeft){ if(year < this.startDate.year()||(year==this.startDate.year()&&month < this.startDate.month())){ month=this.startDate.month(); year=this.startDate.year(); }} if(this.minDate){ if(year < this.minDate.year()||(year==this.minDate.year()&&month < this.minDate.month())){ month=this.minDate.month(); year=this.minDate.year(); }} if(this.maxDate){ if(year > this.maxDate.year()||(year==this.maxDate.year()&&month > this.maxDate.month())){ month=this.maxDate.month(); year=this.maxDate.year(); }} if(isLeft){ this.leftCalendar.month.month(month).year(year); if(this.linkedCalendars) this.rightCalendar.month=this.leftCalendar.month.clone().add(1, 'month'); }else{ this.rightCalendar.month.month(month).year(year); if(this.linkedCalendars) this.leftCalendar.month=this.rightCalendar.month.clone().subtract(1, 'month'); } this.updateCalendars(); }, timeChanged: function(e){ var cal=$(e.target).closest('.drp-calendar'), isLeft=cal.hasClass('left'); var hour=parseInt(cal.find('.hourselect').val(), 10); var minute=parseInt(cal.find('.minuteselect').val(), 10); if(isNaN(minute)){ minute=parseInt(cal.find('.minuteselect option:last').val(), 10); } var second=this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10):0; if(!this.timePicker24Hour){ var ampm=cal.find('.ampmselect').val(); if(ampm==='PM'&&hour < 12) hour +=12; if(ampm==='AM'&&hour===12) hour=0; } if(isLeft){ var start=this.startDate.clone(); start.hour(hour); start.minute(minute); start.second(second); this.setStartDate(start); if(this.singleDatePicker){ this.endDate=this.startDate.clone(); }else if(this.endDate&&this.endDate.format('YYYY-MM-DD')==start.format('YYYY-MM-DD')&&this.endDate.isBefore(start)){ this.setEndDate(start.clone()); }}else if(this.endDate){ var end=this.endDate.clone(); end.hour(hour); end.minute(minute); end.second(second); this.setEndDate(end); } this.updateCalendars(); this.updateFormInputs(); this.renderTimePicker('left'); this.renderTimePicker('right'); }, elementChanged: function(){ if(!this.element.is('input')) return; if(!this.element.val().length) return; var dateString=this.element.val().split(this.locale.separator), start=null, end=null; if(dateString.length===2){ start=moment(dateString[0], this.locale.format); end=moment(dateString[1], this.locale.format); } if(this.singleDatePicker||start===null||end===null){ start=moment(this.element.val(), this.locale.format); end=start; } if(!start.isValid()||!end.isValid()) return; this.setStartDate(start); this.setEndDate(end); this.updateView(); }, keydown: function(e){ if((e.keyCode===9)||(e.keyCode===13)){ this.hide(); } if(e.keyCode===27){ e.preventDefault(); e.stopPropagation(); this.hide(); }}, updateElement: function(){ if(this.element.is('input')&&this.autoUpdateInput){ var newValue=this.startDate.format(this.locale.format); if(!this.singleDatePicker){ newValue +=this.locale.separator + this.endDate.format(this.locale.format); } if(newValue!==this.element.val()){ this.element.val(newValue).trigger('change'); }} }, remove: function(){ this.container.remove(); this.element.off('.daterangepicker'); this.element.removeData(); }}; $.fn.daterangepicker=function(options, callback){ var implementOptions=$.extend(true, {}, $.fn.daterangepicker.defaultOptions, options); this.each(function(){ var el=$(this); if(el.data('daterangepicker')) el.data('daterangepicker').remove(); el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback)); }); return this; }; return DateRangePicker; })); (function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0
',image:'',iframe:'",error:'

The requested content cannot be loaded.
Please try again later.

',closeBtn:'',next:'',prev:''},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0, openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1, isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k, c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&& k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current|| b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer= setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d= a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")), b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('
').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(), y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement; if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0, {},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1, mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio= !0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href"); "image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload= this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href); f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload, e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin, outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("
").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('
').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}", g);break;case "swf":e='',h="",f.each(a.swf,function(a,b){e+='';h+=" "+a+'="'+b+'"'}),e+='"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll": "no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside? h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth|| h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),cz||y>r)&&(c>m&&j>u)&&!(19n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&jz||y>r)&&c>m&&j>u;c=h.aspectRatio?cu&&j
').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive? b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth), p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"===f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d= b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('
'+e+"
");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner(''),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d, e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+ ":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('
').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('
').appendTo("body");var e=20===d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("").appendTo("head")})})(window,document,jQuery); (function ($){ var F=$.fancybox; F.helpers.thumbs={ defaults:{ width:50, height:50, position:'bottom', // 'top' or 'bottom' source:function(item){ var href; if(item.element){ href=$(item.element).find('img').attr('src'); } if(!href&&item.type==='image'&&item.href){ href=item.href; } return href; }}, wrap:null, list:null, width:0, init: function (opts, obj){ var that=this, list, thumbWidth=opts.width, thumbHeight=opts.height, thumbSource=opts.source; list=''; for (var n=0; n < obj.group.length; n++){ list +='
  • '; } this.wrap=$('
    ').addClass(opts.position).appendTo('body'); this.list=$('
      ' + list + '
    ').appendTo(this.wrap); $.each(obj.group, function (i){ var href=thumbSource(obj.group[ i ]); if(!href){ return; } $("").load(function (){ var width=this.width, height=this.height, widthRatio, heightRatio, parent; if(!that.list||!width||!height){ return; } widthRatio=width / thumbWidth; heightRatio=height / thumbHeight; parent=that.list.children().eq(i).find('a'); if(widthRatio >=1&&heightRatio >=1){ if(widthRatio > heightRatio){ width=Math.floor(width / heightRatio); height=thumbHeight; }else{ width=thumbWidth; height=Math.floor(height / widthRatio); }} $(this).css({ width:width, height:height, top:Math.floor(thumbHeight / 2 - height / 2), left:Math.floor(thumbWidth / 2 - width / 2) }); parent.width(thumbWidth).height(thumbHeight); $(this).hide().appendTo(parent).fadeIn(300); }).attr('src', href); }); this.width=this.list.children().eq(0).outerWidth(true); this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))); }, beforeLoad: function (opts, obj){ if(obj.group.length < 2){ obj.helpers.thumbs=false; return; } obj.margin[ opts.position==='top' ? 0:2 ] +=((opts.height) + 15); }, afterShow: function (opts, obj){ if(this.list){ this.onUpdate(opts, obj); }else{ this.init(opts, obj); } this.list.children().removeClass('active').eq(obj.index).addClass('active'); }, onUpdate: function (opts, obj){ if(this.list){ this.list.stop(true).animate({ 'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)) }, 150); }}, beforeClose: function (){ if(this.wrap){ this.wrap.remove(); } this.wrap=null; this.list=null; this.width=0; }} }(jQuery)); (function(factory){ if(typeof define==="function"&&define.amd){ define([ "../datepicker" ], factory); }else{ factory(jQuery.datepicker); }}(function(datepicker){ datepicker.regional['ru']={ closeText: 'Закрыть', prevText: '<Пред', nextText: 'След>', currentText: 'Сегодня', monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', 'Июл','Авг','Сен','Окт','Ноя','Дек'], dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], weekHeader: 'Нед', dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''}; datepicker.setDefaults(datepicker.regional['ru']); return datepicker.regional['ru']; })); (function webpackUniversalModuleDefinition(root, factory){ if(typeof exports==='object'&&typeof module==='object') module.exports=factory(require("moment"), require("jquery")); else if(typeof define==='function'&&define.amd) define(["moment", "jquery"], factory); else if(typeof exports==='object') exports["FullCalendar"]=factory(require("moment"), require("jquery")); else root["FullCalendar"]=factory(root["moment"], root["jQuery"]); })(typeof self!=='undefined' ? self:this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__){ return (function(modules){ var installedModules={}; function __webpack_require__(moduleId){ if(installedModules[moduleId]){ return installedModules[moduleId].exports; } var module=installedModules[moduleId]={ i: moduleId, l: false, exports: {} }; modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); module.l=true; return module.exports; } __webpack_require__.m=modules; __webpack_require__.c=installedModules; __webpack_require__.d=function(exports, name, getter){ if(!__webpack_require__.o(exports, name)){ Object.defineProperty(exports, name, { configurable: false, enumerable: true, get: getter }); } }; __webpack_require__.n=function(module){ var getter=module&&module.__esModule ? function getDefault(){ return module['default']; } : function getModuleExports(){ return module; }; __webpack_require__.d(getter, 'a', getter); return getter; }; __webpack_require__.o=function(object, property){ return Object.prototype.hasOwnProperty.call(object, property); }; __webpack_require__.p=""; return __webpack_require__(__webpack_require__.s=236); }) ([ (function(module, exports){ module.exports=__WEBPACK_EXTERNAL_MODULE_0__; }), , (function(module, exports){ var extendStatics=Object.setPrototypeOf || ({ __proto__: [] } instanceof Array&&function (d, b){ d.__proto__=b; }) || function (d, b){ for (var p in b) if(b.hasOwnProperty(p)) d[p]=b[p]; }; exports.__extends=function (d, b){ extendStatics(d, b); function __(){ this.constructor=d; } d.prototype=b===null ? Object.create(b):(__.prototype=b.prototype, new __()); }; }), (function(module, exports){ module.exports=__WEBPACK_EXTERNAL_MODULE_3__; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment=__webpack_require__(0); var $=__webpack_require__(3); function compensateScroll(rowEls, scrollbarWidths){ if(scrollbarWidths.left){ rowEls.css({ 'border-left-width': 1, 'margin-left': scrollbarWidths.left - 1 }); } if(scrollbarWidths.right){ rowEls.css({ 'border-right-width': 1, 'margin-right': scrollbarWidths.right - 1 }); }} exports.compensateScroll=compensateScroll; function uncompensateScroll(rowEls){ rowEls.css({ 'margin-left': '', 'margin-right': '', 'border-left-width': '', 'border-right-width': '' }); } exports.uncompensateScroll=uncompensateScroll; function disableCursor(){ $('body').addClass('fc-not-allowed'); } exports.disableCursor=disableCursor; function enableCursor(){ $('body').removeClass('fc-not-allowed'); } exports.enableCursor=enableCursor; function distributeHeight(els, availableHeight, shouldRedistribute){ var minOffset1=Math.floor(availableHeight / els.length); var minOffset2=Math.floor(availableHeight - minOffset1 * (els.length - 1)); var flexEls=[]; var flexOffsets=[]; var flexHeights=[]; var usedHeight=0; undistributeHeight(els); els.each(function (i, el){ var minOffset=i===els.length - 1 ? minOffset2:minOffset1; var naturalOffset=$(el).outerHeight(true); if(naturalOffset < minOffset){ flexEls.push(el); flexOffsets.push(naturalOffset); flexHeights.push($(el).height()); }else{ usedHeight +=naturalOffset; }}); if(shouldRedistribute){ availableHeight -=usedHeight; minOffset1=Math.floor(availableHeight / flexEls.length); minOffset2=Math.floor(availableHeight - minOffset1 * (flexEls.length - 1)); } $(flexEls).each(function (i, el){ var minOffset=i===flexEls.length - 1 ? minOffset2:minOffset1; var naturalOffset=flexOffsets[i]; var naturalHeight=flexHeights[i]; var newHeight=minOffset - (naturalOffset - naturalHeight); if(naturalOffset < minOffset){ $(el).height(newHeight); }}); } exports.distributeHeight=distributeHeight; function undistributeHeight(els){ els.height(''); } exports.undistributeHeight=undistributeHeight; function matchCellWidths(els){ var maxInnerWidth=0; els.find('> *').each(function (i, innerEl){ var innerWidth=$(innerEl).outerWidth(); if(innerWidth > maxInnerWidth){ maxInnerWidth=innerWidth; }}); maxInnerWidth++; els.width(maxInnerWidth); return maxInnerWidth; } exports.matchCellWidths=matchCellWidths; function subtractInnerElHeight(outerEl, innerEl){ var both=outerEl.add(innerEl); var diff; both.css({ position: 'relative', left: -1 }); diff=outerEl.outerHeight() - innerEl.outerHeight(); both.css({ position: '', left: '' }); return diff; } exports.subtractInnerElHeight=subtractInnerElHeight; function getScrollParent(el){ var position=el.css('position'); var scrollParent=el.parents().filter(function (){ var parent=$(this); return (/(auto|scroll)/).test(parent.css('overflow') + parent.css('overflow-y') + parent.css('overflow-x')); }).eq(0); return position==='fixed'||!scrollParent.length ? $(el[0].ownerDocument||document):scrollParent; } exports.getScrollParent=getScrollParent; function getOuterRect(el, origin){ var offset=el.offset(); var left=offset.left - (origin ? origin.left:0); var top=offset.top - (origin ? origin.top:0); return { left: left, right: left + el.outerWidth(), top: top, bottom: top + el.outerHeight() };} exports.getOuterRect=getOuterRect; function getClientRect(el, origin){ var offset=el.offset(); var scrollbarWidths=getScrollbarWidths(el); var left=offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left - (origin ? origin.left:0); var top=offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top - (origin ? origin.top:0); return { left: left, right: left + el[0].clientWidth, top: top, bottom: top + el[0].clientHeight };} exports.getClientRect=getClientRect; function getContentRect(el, origin){ var offset=el.offset(); var left=offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left') - (origin ? origin.left:0); var top=offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top') - (origin ? origin.top:0); return { left: left, right: left + el.width(), top: top, bottom: top + el.height() };} exports.getContentRect=getContentRect; function getScrollbarWidths(el){ var leftRightWidth=el[0].offsetWidth - el[0].clientWidth; var bottomWidth=el[0].offsetHeight - el[0].clientHeight; var widths; leftRightWidth=sanitizeScrollbarWidth(leftRightWidth); bottomWidth=sanitizeScrollbarWidth(bottomWidth); widths={ left: 0, right: 0, top: 0, bottom: bottomWidth }; if(getIsLeftRtlScrollbars()&&el.css('direction')==='rtl'){ widths.left=leftRightWidth; }else{ widths.right=leftRightWidth; } return widths; } exports.getScrollbarWidths=getScrollbarWidths; function sanitizeScrollbarWidth(width){ width=Math.max(0, width); width=Math.round(width); return width; } var _isLeftRtlScrollbars=null; function getIsLeftRtlScrollbars(){ if(_isLeftRtlScrollbars===null){ _isLeftRtlScrollbars=computeIsLeftRtlScrollbars(); } return _isLeftRtlScrollbars; } function computeIsLeftRtlScrollbars(){ var el=$('
    ') .css({ position: 'absolute', top: -1000, left: 0, border: 0, padding: 0, overflow: 'scroll', direction: 'rtl' }) .appendTo('body'); var innerEl=el.children(); var res=innerEl.offset().left > el.offset().left; el.remove(); return res; } function getCssFloat(el, prop){ return parseFloat(el.css(prop))||0; } function isPrimaryMouseButton(ev){ return ev.which===1&&!ev.ctrlKey; } exports.isPrimaryMouseButton=isPrimaryMouseButton; function getEvX(ev){ var touches=ev.originalEvent.touches; if(touches&&touches.length){ return touches[0].pageX; } return ev.pageX; } exports.getEvX=getEvX; function getEvY(ev){ var touches=ev.originalEvent.touches; if(touches&&touches.length){ return touches[0].pageY; } return ev.pageY; } exports.getEvY=getEvY; function getEvIsTouch(ev){ return /^touch/.test(ev.type); } exports.getEvIsTouch=getEvIsTouch; function preventSelection(el){ el.addClass('fc-unselectable') .on('selectstart', preventDefault); } exports.preventSelection=preventSelection; function allowSelection(el){ el.removeClass('fc-unselectable') .off('selectstart', preventDefault); } exports.allowSelection=allowSelection; function preventDefault(ev){ ev.preventDefault(); } exports.preventDefault=preventDefault; function intersectRects(rect1, rect2){ var res={ left: Math.max(rect1.left, rect2.left), right: Math.min(rect1.right, rect2.right), top: Math.max(rect1.top, rect2.top), bottom: Math.min(rect1.bottom, rect2.bottom) }; if(res.left < res.right&&res.top < res.bottom){ return res; } return false; } exports.intersectRects=intersectRects; function constrainPoint(point, rect){ return { left: Math.min(Math.max(point.left, rect.left), rect.right), top: Math.min(Math.max(point.top, rect.top), rect.bottom) };} exports.constrainPoint=constrainPoint; function getRectCenter(rect){ return { left: (rect.left + rect.right) / 2, top: (rect.top + rect.bottom) / 2 };} exports.getRectCenter=getRectCenter; function diffPoints(point1, point2){ return { left: point1.left - point2.left, top: point1.top - point2.top };} exports.diffPoints=diffPoints; function parseFieldSpecs(input){ var specs=[]; var tokens=[]; var i; var token; if(typeof input==='string'){ tokens=input.split(/\s*,\s*/); } else if(typeof input==='function'){ tokens=[input]; } else if($.isArray(input)){ tokens=input; } for (i=0; i < tokens.length; i++){ token=tokens[i]; if(typeof token==='string'){ specs.push(token.charAt(0)==='-' ? { field: token.substring(1), order: -1 } : { field: token, order: 1 }); } else if(typeof token==='function'){ specs.push({ func: token }); }} return specs; } exports.parseFieldSpecs=parseFieldSpecs; function compareByFieldSpecs(obj1, obj2, fieldSpecs, obj1fallback, obj2fallback){ var i; var cmp; for (i=0; i < fieldSpecs.length; i++){ cmp=compareByFieldSpec(obj1, obj2, fieldSpecs[i], obj1fallback, obj2fallback); if(cmp){ return cmp; }} return 0; } exports.compareByFieldSpecs=compareByFieldSpecs; function compareByFieldSpec(obj1, obj2, fieldSpec, obj1fallback, obj2fallback){ if(fieldSpec.func){ return fieldSpec.func(obj1, obj2); } var val1=obj1[fieldSpec.field]; var val2=obj2[fieldSpec.field]; if(val1==null&&obj1fallback){ val1=obj1fallback[fieldSpec.field]; } if(val2==null&&obj2fallback){ val2=obj2fallback[fieldSpec.field]; } return flexibleCompare(val1, val2) * (fieldSpec.order||1); } exports.compareByFieldSpec=compareByFieldSpec; function flexibleCompare(a, b){ if(!a&&!b){ return 0; } if(b==null){ return -1; } if(a==null){ return 1; } if($.type(a)==='string'||$.type(b)==='string'){ return String(a).localeCompare(String(b)); } return a - b; } exports.flexibleCompare=flexibleCompare; exports.dayIDs=['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; exports.unitsDesc=['year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; function diffDayTime(a, b){ return moment.duration({ days: a.clone().stripTime().diff(b.clone().stripTime(), 'days'), ms: a.time() - b.time() }); } exports.diffDayTime=diffDayTime; function diffDay(a, b){ return moment.duration({ days: a.clone().stripTime().diff(b.clone().stripTime(), 'days') }); } exports.diffDay=diffDay; function diffByUnit(a, b, unit){ return moment.duration(Math.round(a.diff(b, unit, true)), unit); } exports.diffByUnit=diffByUnit; function computeGreatestUnit(start, end){ var i; var unit; var val; for (i=0; i < exports.unitsDesc.length; i++){ unit=exports.unitsDesc[i]; val=computeRangeAs(unit, start, end); if(val >=1&&isInt(val)){ break; }} return unit; } exports.computeGreatestUnit=computeGreatestUnit; function computeDurationGreatestUnit(duration, durationInput){ var unit=computeGreatestUnit(duration); if(unit==='week'&&typeof durationInput==='object'&&durationInput.days){ unit='day'; } return unit; } exports.computeDurationGreatestUnit=computeDurationGreatestUnit; function computeRangeAs(unit, start, end){ if(end!=null){ return end.diff(start, unit, true); } else if(moment.isDuration(start)){ return start.as(unit); }else{ return start.end.diff(start.start, unit, true); }} function divideRangeByDuration(start, end, dur){ var months; if(durationHasTime(dur)){ return (end - start) / dur; } months=dur.asMonths(); if(Math.abs(months) >=1&&isInt(months)){ return end.diff(start, 'months', true) / months; } return end.diff(start, 'days', true) / dur.asDays(); } exports.divideRangeByDuration=divideRangeByDuration; function divideDurationByDuration(dur1, dur2){ var months1; var months2; if(durationHasTime(dur1)||durationHasTime(dur2)){ return dur1 / dur2; } months1=dur1.asMonths(); months2=dur2.asMonths(); if(Math.abs(months1) >=1&&isInt(months1) && Math.abs(months2) >=1&&isInt(months2)){ return months1 / months2; } return dur1.asDays() / dur2.asDays(); } exports.divideDurationByDuration=divideDurationByDuration; function multiplyDuration(dur, n){ var months; if(durationHasTime(dur)){ return moment.duration(dur * n); } months=dur.asMonths(); if(Math.abs(months) >=1&&isInt(months)){ return moment.duration({ months: months * n }); } return moment.duration({ days: dur.asDays() * n }); } exports.multiplyDuration=multiplyDuration; function durationHasTime(dur){ return Boolean(dur.hours()||dur.minutes()||dur.seconds()||dur.milliseconds()); } exports.durationHasTime=durationHasTime; function isNativeDate(input){ return Object.prototype.toString.call(input)==='[object Date]'||input instanceof Date; } exports.isNativeDate=isNativeDate; function isTimeString(str){ return typeof str==='string' && /^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(str); } exports.isTimeString=isTimeString; function log(){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } var console=window.console; if(console&&console.log){ return console.log.apply(console, args); }} exports.log=log; function warn(){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } var console=window.console; if(console&&console.warn){ return console.warn.apply(console, args); }else{ return log.apply(null, args); }} exports.warn=warn; var hasOwnPropMethod={}.hasOwnProperty; function mergeProps(propObjs, complexProps){ var dest={}; var i; var name; var complexObjs; var j; var val; var props; if(complexProps){ for (i=0; i < complexProps.length; i++){ name=complexProps[i]; complexObjs=[]; for (j=propObjs.length - 1; j >=0; j--){ val=propObjs[j][name]; if(typeof val==='object'){ complexObjs.unshift(val); } else if(val!==undefined){ dest[name]=val; break; }} if(complexObjs.length){ dest[name]=mergeProps(complexObjs); }} } for (i=propObjs.length - 1; i >=0; i--){ props=propObjs[i]; for (name in props){ if(!(name in dest)){ dest[name]=props[name]; }} } return dest; } exports.mergeProps=mergeProps; function copyOwnProps(src, dest){ for (var name_1 in src){ if(hasOwnProp(src, name_1)){ dest[name_1]=src[name_1]; }} } exports.copyOwnProps=copyOwnProps; function hasOwnProp(obj, name){ return hasOwnPropMethod.call(obj, name); } exports.hasOwnProp=hasOwnProp; function applyAll(functions, thisObj, args){ if($.isFunction(functions)){ functions=[functions]; } if(functions){ var i=void 0; var ret=void 0; for (i=0; i < functions.length; i++){ ret=functions[i].apply(thisObj, args)||ret; } return ret; }} exports.applyAll=applyAll; function removeMatching(array, testFunc){ var removeCnt=0; var i=0; while (i < array.length){ if(testFunc(array[i])){ array.splice(i, 1); removeCnt++; }else{ i++; }} return removeCnt; } exports.removeMatching=removeMatching; function removeExact(array, exactVal){ var removeCnt=0; var i=0; while (i < array.length){ if(array[i]===exactVal){ array.splice(i, 1); removeCnt++; }else{ i++; }} return removeCnt; } exports.removeExact=removeExact; function isArraysEqual(a0, a1){ var len=a0.length; var i; if(len==null||len!==a1.length){ return false; } for (i=0; i < len; i++){ if(a0[i]!==a1[i]){ return false; }} return true; } exports.isArraysEqual=isArraysEqual; function firstDefined(){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } for (var i=0; i < args.length; i++){ if(args[i]!==undefined){ return args[i]; }} } exports.firstDefined=firstDefined; function htmlEscape(s){ return (s + '').replace(/&/g, '&') .replace(//g, '>') .replace(/'/g, ''') .replace(/"/g, '"') .replace(/\n/g, '
    '); } exports.htmlEscape=htmlEscape; function stripHtmlEntities(text){ return text.replace(/&.*?;/g, ''); } exports.stripHtmlEntities=stripHtmlEntities; function cssToStr(cssProps){ var statements=[]; $.each(cssProps, function (name, val){ if(val!=null){ statements.push(name + ':' + val); }}); return statements.join(';'); } exports.cssToStr=cssToStr; function attrsToStr(attrs){ var parts=[]; $.each(attrs, function (name, val){ if(val!=null){ parts.push(name + '="' + htmlEscape(val) + '"'); }}); return parts.join(' '); } exports.attrsToStr=attrsToStr; function capitaliseFirstLetter(str){ return str.charAt(0).toUpperCase() + str.slice(1); } exports.capitaliseFirstLetter=capitaliseFirstLetter; function compareNumbers(a, b){ return a - b; } exports.compareNumbers=compareNumbers; function isInt(n){ return n % 1===0; } exports.isInt=isInt; function proxy(obj, methodName){ var method=obj[methodName]; return function (){ return method.apply(obj, arguments); };} exports.proxy=proxy; function debounce(func, wait, immediate){ if(immediate===void 0){ immediate=false; } var timeout; var args; var context; var timestamp; var result; var later=function (){ var last=+new Date() - timestamp; if(last < wait){ timeout=setTimeout(later, wait - last); }else{ timeout=null; if(!immediate){ result=func.apply(context, args); context=args=null; }} }; return function (){ context=this; args=arguments; timestamp=+new Date(); var callNow=immediate&&!timeout; if(!timeout){ timeout=setTimeout(later, wait); } if(callNow){ result=func.apply(context, args); context=args=null; } return result; };} exports.debounce=debounce; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment=__webpack_require__(0); var moment_ext_1=__webpack_require__(10); var UnzonedRange= (function (){ function UnzonedRange(startInput, endInput){ this.isStart=true; this.isEnd=true; if(moment.isMoment(startInput)){ startInput=startInput.clone().stripZone(); } if(moment.isMoment(endInput)){ endInput=endInput.clone().stripZone(); } if(startInput){ this.startMs=startInput.valueOf(); } if(endInput){ this.endMs=endInput.valueOf(); }} UnzonedRange.invertRanges=function (ranges, constraintRange){ var invertedRanges=[]; var startMs=constraintRange.startMs; var i; var dateRange; ranges.sort(compareUnzonedRanges); for (i=0; i < ranges.length; i++){ dateRange=ranges[i]; if(dateRange.startMs > startMs){ invertedRanges.push(new UnzonedRange(startMs, dateRange.startMs)); } if(dateRange.endMs > startMs){ startMs=dateRange.endMs; }} if(startMs < constraintRange.endMs){ invertedRanges.push(new UnzonedRange(startMs, constraintRange.endMs)); } return invertedRanges; }; UnzonedRange.prototype.intersect=function (otherRange){ var startMs=this.startMs; var endMs=this.endMs; var newRange=null; if(otherRange.startMs!=null){ if(startMs==null){ startMs=otherRange.startMs; }else{ startMs=Math.max(startMs, otherRange.startMs); }} if(otherRange.endMs!=null){ if(endMs==null){ endMs=otherRange.endMs; }else{ endMs=Math.min(endMs, otherRange.endMs); }} if(startMs==null||endMs==null||startMs < endMs){ newRange=new UnzonedRange(startMs, endMs); newRange.isStart=this.isStart&&startMs===this.startMs; newRange.isEnd=this.isEnd&&endMs===this.endMs; } return newRange; }; UnzonedRange.prototype.intersectsWith=function (otherRange){ return (this.endMs==null||otherRange.startMs==null||this.endMs > otherRange.startMs) && (this.startMs==null||otherRange.endMs==null||this.startMs < otherRange.endMs); }; UnzonedRange.prototype.containsRange=function (innerRange){ return (this.startMs==null||(innerRange.startMs!=null&&innerRange.startMs >=this.startMs)) && (this.endMs==null||(innerRange.endMs!=null&&innerRange.endMs <=this.endMs)); }; UnzonedRange.prototype.containsDate=function (date){ var ms=date.valueOf(); return (this.startMs==null||ms >=this.startMs) && (this.endMs==null||ms < this.endMs); }; UnzonedRange.prototype.constrainDate=function (date){ var ms=date.valueOf(); if(this.startMs!=null&&ms < this.startMs){ ms=this.startMs; } if(this.endMs!=null&&ms >=this.endMs){ ms=this.endMs - 1; } return ms; }; UnzonedRange.prototype.equals=function (otherRange){ return this.startMs===otherRange.startMs&&this.endMs===otherRange.endMs; }; UnzonedRange.prototype.clone=function (){ var range=new UnzonedRange(this.startMs, this.endMs); range.isStart=this.isStart; range.isEnd=this.isEnd; return range; }; UnzonedRange.prototype.getStart=function (){ if(this.startMs!=null){ return moment_ext_1.default.utc(this.startMs).stripZone(); } return null; }; UnzonedRange.prototype.getEnd=function (){ if(this.endMs!=null){ return moment_ext_1.default.utc(this.endMs).stripZone(); } return null; }; UnzonedRange.prototype.as=function (unit){ return moment.utc(this.endMs).diff(moment.utc(this.startMs), unit, true); }; return UnzonedRange; }()); exports.default=UnzonedRange; function compareUnzonedRanges(range1, range2){ return range1.startMs - range2.startMs; } }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var ParsableModelMixin_1=__webpack_require__(208); var Class_1=__webpack_require__(33); var EventDefParser_1=__webpack_require__(49); var EventSource= (function (_super){ tslib_1.__extends(EventSource, _super); function EventSource(calendar){ var _this=_super.call(this)||this; _this.calendar=calendar; _this.className=[]; _this.uid=String(EventSource.uuid++); return _this; } EventSource.parse=function (rawInput, calendar){ var source=new this(calendar); if(typeof rawInput==='object'){ if(source.applyProps(rawInput)){ return source; }} return false; }; EventSource.normalizeId=function (id){ if(id){ return String(id); } return null; }; EventSource.prototype.fetch=function (start, end, timezone){ }; EventSource.prototype.removeEventDefsById=function (eventDefId){ }; EventSource.prototype.removeAllEventDefs=function (){ }; EventSource.prototype.getPrimitive=function (otherSource){ }; EventSource.prototype.parseEventDefs=function (rawEventDefs){ var i; var eventDef; var eventDefs=[]; for (i=0; i < rawEventDefs.length; i++){ eventDef=this.parseEventDef(rawEventDefs[i]); if(eventDef){ eventDefs.push(eventDef); }} return eventDefs; }; EventSource.prototype.parseEventDef=function (rawInput){ var calendarTransform=this.calendar.opt('eventDataTransform'); var sourceTransform=this.eventDataTransform; if(calendarTransform){ rawInput=calendarTransform(rawInput, this.calendar); } if(sourceTransform){ rawInput=sourceTransform(rawInput, this.calendar); } return EventDefParser_1.default.parse(rawInput, this); }; EventSource.prototype.applyManualStandardProps=function (rawProps){ if(rawProps.id!=null){ this.id=EventSource.normalizeId(rawProps.id); } if($.isArray(rawProps.className)){ this.className=rawProps.className; } else if(typeof rawProps.className==='string'){ this.className=rawProps.className.split(/\s+/); } return true; }; EventSource.uuid=0; EventSource.defineStandardProps=ParsableModelMixin_1.default.defineStandardProps; EventSource.copyVerbatimStandardProps=ParsableModelMixin_1.default.copyVerbatimStandardProps; return EventSource; }(Class_1.default)); exports.default=EventSource; ParsableModelMixin_1.default.mixInto(EventSource); EventSource.defineStandardProps({ id: false, className: false, color: true, backgroundColor: true, borderColor: true, textColor: true, editable: true, startEditable: true, durationEditable: true, rendering: true, overlap: true, constraint: true, allDayDefault: true, eventDataTransform: true }); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var Mixin_1=__webpack_require__(14); var guid=0; var ListenerMixin= (function (_super){ tslib_1.__extends(ListenerMixin, _super); function ListenerMixin(){ return _super!==null&&_super.apply(this, arguments)||this; } ListenerMixin.prototype.listenTo=function (other, arg, callback){ if(typeof arg==='object'){ for (var eventName in arg){ if(arg.hasOwnProperty(eventName)){ this.listenTo(other, eventName, arg[eventName]); }} } else if(typeof arg==='string'){ other.on(arg + '.' + this.getListenerNamespace(), $.proxy(callback, this) ); }}; ListenerMixin.prototype.stopListeningTo=function (other, eventName){ other.off((eventName||'') + '.' + this.getListenerNamespace()); }; ListenerMixin.prototype.getListenerNamespace=function (){ if(this.listenerId==null){ this.listenerId=guid++; } return '_listener' + this.listenerId; }; return ListenerMixin; }(Mixin_1.default)); exports.default=ListenerMixin; }), , , (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment=__webpack_require__(0); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var ambigDateOfMonthRegex=/^\s*\d{4}-\d\d$/; var ambigTimeOrZoneRegex=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T|)(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/; var newMomentProto=moment.fn; exports.newMomentProto=newMomentProto; var oldMomentProto=$.extend({}, newMomentProto); exports.oldMomentProto=oldMomentProto; var momentProperties=moment.momentProperties; momentProperties.push('_fullCalendar'); momentProperties.push('_ambigTime'); momentProperties.push('_ambigZone'); function oldMomentFormat(mom, formatStr){ return oldMomentProto.format.call(mom, formatStr); } exports.oldMomentFormat=oldMomentFormat; var momentExt=function (){ return makeMoment(arguments); }; exports.default=momentExt; momentExt.utc=function (){ var mom=makeMoment(arguments, true); if(mom.hasTime()){ mom.utc(); } return mom; }; momentExt.parseZone=function (){ return makeMoment(arguments, true, true); }; function makeMoment(args, parseAsUTC, parseZone){ if(parseAsUTC===void 0){ parseAsUTC=false; } if(parseZone===void 0){ parseZone=false; } var input=args[0]; var isSingleString=args.length===1&&typeof input==='string'; var isAmbigTime; var isAmbigZone; var ambigMatch; var mom; if(moment.isMoment(input)||util_1.isNativeDate(input)||input===undefined){ mom=moment.apply(null, args); }else{ isAmbigTime=false; isAmbigZone=false; if(isSingleString){ if(ambigDateOfMonthRegex.test(input)){ input +='-01'; args=[input]; isAmbigTime=true; isAmbigZone=true; } else if((ambigMatch=ambigTimeOrZoneRegex.exec(input))){ isAmbigTime = !ambigMatch[5]; isAmbigZone=true; }} else if($.isArray(input)){ isAmbigZone=true; } if(parseAsUTC||isAmbigTime){ mom=moment.utc.apply(moment, args); }else{ mom=moment.apply(null, args); } if(isAmbigTime){ mom._ambigTime=true; mom._ambigZone=true; } else if(parseZone){ if(isAmbigZone){ mom._ambigZone=true; } else if(isSingleString){ mom.utcOffset(input); }} } mom._fullCalendar=true; return mom; } newMomentProto.week=newMomentProto.weeks=function (input){ var weekCalc=this._locale._fullCalendar_weekCalc; if(input==null&&typeof weekCalc==='function'){ return weekCalc(this); } else if(weekCalc==='ISO'){ return oldMomentProto.isoWeek.apply(this, arguments); } return oldMomentProto.week.apply(this, arguments); }; newMomentProto.time=function (time){ if(!this._fullCalendar){ return oldMomentProto.time.apply(this, arguments); } if(time==null){ return moment.duration({ hours: this.hours(), minutes: this.minutes(), seconds: this.seconds(), milliseconds: this.milliseconds() }); }else{ this._ambigTime=false; if(!moment.isDuration(time)&&!moment.isMoment(time)){ time=moment.duration(time); } var dayHours=0; if(moment.isDuration(time)){ dayHours=Math.floor(time.asDays()) * 24; } return this.hours(dayHours + time.hours()) .minutes(time.minutes()) .seconds(time.seconds()) .milliseconds(time.milliseconds()); }}; newMomentProto.stripTime=function (){ if(!this._ambigTime){ this.utc(true); this.set({ hours: 0, minutes: 0, seconds: 0, ms: 0 }); this._ambigTime=true; this._ambigZone=true; } return this; }; newMomentProto.hasTime=function (){ return !this._ambigTime; }; newMomentProto.stripZone=function (){ var wasAmbigTime; if(!this._ambigZone){ wasAmbigTime=this._ambigTime; this.utc(true); this._ambigTime=wasAmbigTime||false; this._ambigZone=true; } return this; }; newMomentProto.hasZone=function (){ return !this._ambigZone; }; newMomentProto.local=function (keepLocalTime){ oldMomentProto.local.call(this, this._ambigZone||keepLocalTime); this._ambigTime=false; this._ambigZone=false; return this; }; newMomentProto.utc=function (keepLocalTime){ oldMomentProto.utc.call(this, keepLocalTime); this._ambigTime=false; this._ambigZone=false; return this; }; newMomentProto.utcOffset=function (tzo){ if(tzo!=null){ this._ambigTime=false; this._ambigZone=false; } return oldMomentProto.utcOffset.apply(this, arguments); }; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var Mixin_1=__webpack_require__(14); var EmitterMixin= (function (_super){ tslib_1.__extends(EmitterMixin, _super); function EmitterMixin(){ return _super!==null&&_super.apply(this, arguments)||this; } EmitterMixin.prototype.on=function (types, handler){ $(this).on(types, this._prepareIntercept(handler)); return this; }; EmitterMixin.prototype.one=function (types, handler){ $(this).one(types, this._prepareIntercept(handler)); return this; }; EmitterMixin.prototype._prepareIntercept=function (handler){ var intercept=function (ev, extra){ return handler.apply(extra.context||this, extra.args||[]); }; if(!handler.guid){ handler.guid=$.guid++; } intercept.guid=handler.guid; return intercept; }; EmitterMixin.prototype.off=function (types, handler){ $(this).off(types, handler); return this; }; EmitterMixin.prototype.trigger=function (types){ var args=[]; for (var _i=1; _i < arguments.length; _i++){ args[_i - 1]=arguments[_i]; } $(this).triggerHandler(types, { args: args }); return this; }; EmitterMixin.prototype.triggerWith=function (types, context, args){ $(this).triggerHandler(types, { context: context, args: args }); return this; }; EmitterMixin.prototype.hasHandlers=function (type){ var hash=$._data(this, 'events'); return hash&&hash[type]&&hash[type].length > 0; }; return EmitterMixin; }(Mixin_1.default)); exports.default=EmitterMixin; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var ComponentFootprint= (function (){ function ComponentFootprint(unzonedRange, isAllDay){ this.isAllDay=false; this.unzonedRange=unzonedRange; this.isAllDay=isAllDay; } ComponentFootprint.prototype.toLegacy=function (calendar){ return { start: calendar.msToMoment(this.unzonedRange.startMs, this.isAllDay), end: calendar.msToMoment(this.unzonedRange.endMs, this.isAllDay) };}; return ComponentFootprint; }()); exports.default=ComponentFootprint; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var EventDef_1=__webpack_require__(34); var EventInstance_1=__webpack_require__(209); var EventDateProfile_1=__webpack_require__(17); var SingleEventDef= (function (_super){ tslib_1.__extends(SingleEventDef, _super); function SingleEventDef(){ return _super!==null&&_super.apply(this, arguments)||this; } SingleEventDef.prototype.buildInstances=function (){ return [this.buildInstance()]; }; SingleEventDef.prototype.buildInstance=function (){ return new EventInstance_1.default(this, this.dateProfile); }; SingleEventDef.prototype.isAllDay=function (){ return this.dateProfile.isAllDay(); }; SingleEventDef.prototype.clone=function (){ var def=_super.prototype.clone.call(this); def.dateProfile=this.dateProfile; return def; }; SingleEventDef.prototype.rezone=function (){ var calendar=this.source.calendar; var dateProfile=this.dateProfile; this.dateProfile=new EventDateProfile_1.default(calendar.moment(dateProfile.start), dateProfile.end ? calendar.moment(dateProfile.end):null, calendar); }; SingleEventDef.prototype.applyManualStandardProps=function (rawProps){ var superSuccess=_super.prototype.applyManualStandardProps.call(this, rawProps); var dateProfile=EventDateProfile_1.default.parse(rawProps, this.source); if(dateProfile){ this.dateProfile=dateProfile; if(rawProps.date!=null){ this.miscProps.date=rawProps.date; } return superSuccess; }else{ return false; }}; return SingleEventDef; }(EventDef_1.default)); exports.default=SingleEventDef; SingleEventDef.defineStandardProps({ start: false, date: false, end: false, allDay: false }); }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var Mixin= (function (){ function Mixin(){ } Mixin.mixInto=function (destClass){ var _this=this; Object.getOwnPropertyNames(this.prototype).forEach(function (name){ if(!destClass.prototype[name]){ destClass.prototype[name]=_this.prototype[name]; }}); }; Mixin.mixOver=function (destClass){ var _this=this; Object.getOwnPropertyNames(this.prototype).forEach(function (name){ destClass.prototype[name]=_this.prototype[name]; }); }; return Mixin; }()); exports.default=Mixin; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var Interaction= (function (){ function Interaction(component){ this.view=component._getView(); this.component=component; } Interaction.prototype.opt=function (name){ return this.view.opt(name); }; Interaction.prototype.end=function (){ }; return Interaction; }()); exports.default=Interaction; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); exports.version='3.9.0'; exports.internalApiVersion=12; var util_1=__webpack_require__(4); exports.applyAll=util_1.applyAll; exports.debounce=util_1.debounce; exports.isInt=util_1.isInt; exports.htmlEscape=util_1.htmlEscape; exports.cssToStr=util_1.cssToStr; exports.proxy=util_1.proxy; exports.capitaliseFirstLetter=util_1.capitaliseFirstLetter; exports.getOuterRect=util_1.getOuterRect; exports.getClientRect=util_1.getClientRect; exports.getContentRect=util_1.getContentRect; exports.getScrollbarWidths=util_1.getScrollbarWidths; exports.preventDefault=util_1.preventDefault; exports.parseFieldSpecs=util_1.parseFieldSpecs; exports.compareByFieldSpecs=util_1.compareByFieldSpecs; exports.compareByFieldSpec=util_1.compareByFieldSpec; exports.flexibleCompare=util_1.flexibleCompare; exports.computeGreatestUnit=util_1.computeGreatestUnit; exports.divideRangeByDuration=util_1.divideRangeByDuration; exports.divideDurationByDuration=util_1.divideDurationByDuration; exports.multiplyDuration=util_1.multiplyDuration; exports.durationHasTime=util_1.durationHasTime; exports.log=util_1.log; exports.warn=util_1.warn; exports.removeExact=util_1.removeExact; exports.intersectRects=util_1.intersectRects; var date_formatting_1=__webpack_require__(47); exports.formatDate=date_formatting_1.formatDate; exports.formatRange=date_formatting_1.formatRange; exports.queryMostGranularFormatUnit=date_formatting_1.queryMostGranularFormatUnit; var locale_1=__webpack_require__(31); exports.datepickerLocale=locale_1.datepickerLocale; exports.locale=locale_1.locale; var moment_ext_1=__webpack_require__(10); exports.moment=moment_ext_1.default; var EmitterMixin_1=__webpack_require__(11); exports.EmitterMixin=EmitterMixin_1.default; var ListenerMixin_1=__webpack_require__(7); exports.ListenerMixin=ListenerMixin_1.default; var Model_1=__webpack_require__(48); exports.Model=Model_1.default; var Constraints_1=__webpack_require__(207); exports.Constraints=Constraints_1.default; var UnzonedRange_1=__webpack_require__(5); exports.UnzonedRange=UnzonedRange_1.default; var ComponentFootprint_1=__webpack_require__(12); exports.ComponentFootprint=ComponentFootprint_1.default; var BusinessHourGenerator_1=__webpack_require__(212); exports.BusinessHourGenerator=BusinessHourGenerator_1.default; var EventDef_1=__webpack_require__(34); exports.EventDef=EventDef_1.default; var EventDefMutation_1=__webpack_require__(37); exports.EventDefMutation=EventDefMutation_1.default; var EventSourceParser_1=__webpack_require__(38); exports.EventSourceParser=EventSourceParser_1.default; var EventSource_1=__webpack_require__(6); exports.EventSource=EventSource_1.default; var ThemeRegistry_1=__webpack_require__(51); exports.defineThemeSystem=ThemeRegistry_1.defineThemeSystem; var EventInstanceGroup_1=__webpack_require__(18); exports.EventInstanceGroup=EventInstanceGroup_1.default; var ArrayEventSource_1=__webpack_require__(52); exports.ArrayEventSource=ArrayEventSource_1.default; var FuncEventSource_1=__webpack_require__(215); exports.FuncEventSource=FuncEventSource_1.default; var JsonFeedEventSource_1=__webpack_require__(216); exports.JsonFeedEventSource=JsonFeedEventSource_1.default; var EventFootprint_1=__webpack_require__(36); exports.EventFootprint=EventFootprint_1.default; var Class_1=__webpack_require__(33); exports.Class=Class_1.default; var Mixin_1=__webpack_require__(14); exports.Mixin=Mixin_1.default; var CoordCache_1=__webpack_require__(53); exports.CoordCache=CoordCache_1.default; var DragListener_1=__webpack_require__(54); exports.DragListener=DragListener_1.default; var Promise_1=__webpack_require__(20); exports.Promise=Promise_1.default; var TaskQueue_1=__webpack_require__(217); exports.TaskQueue=TaskQueue_1.default; var RenderQueue_1=__webpack_require__(218); exports.RenderQueue=RenderQueue_1.default; var Scroller_1=__webpack_require__(39); exports.Scroller=Scroller_1.default; var Theme_1=__webpack_require__(19); exports.Theme=Theme_1.default; var DateComponent_1=__webpack_require__(219); exports.DateComponent=DateComponent_1.default; var InteractiveDateComponent_1=__webpack_require__(40); exports.InteractiveDateComponent=InteractiveDateComponent_1.default; var Calendar_1=__webpack_require__(220); exports.Calendar=Calendar_1.default; var View_1=__webpack_require__(41); exports.View=View_1.default; var ViewRegistry_1=__webpack_require__(22); exports.defineView=ViewRegistry_1.defineView; exports.getViewConfig=ViewRegistry_1.getViewConfig; var DayTableMixin_1=__webpack_require__(55); exports.DayTableMixin=DayTableMixin_1.default; var BusinessHourRenderer_1=__webpack_require__(56); exports.BusinessHourRenderer=BusinessHourRenderer_1.default; var EventRenderer_1=__webpack_require__(42); exports.EventRenderer=EventRenderer_1.default; var FillRenderer_1=__webpack_require__(57); exports.FillRenderer=FillRenderer_1.default; var HelperRenderer_1=__webpack_require__(58); exports.HelperRenderer=HelperRenderer_1.default; var ExternalDropping_1=__webpack_require__(222); exports.ExternalDropping=ExternalDropping_1.default; var EventResizing_1=__webpack_require__(223); exports.EventResizing=EventResizing_1.default; var EventPointing_1=__webpack_require__(59); exports.EventPointing=EventPointing_1.default; var EventDragging_1=__webpack_require__(224); exports.EventDragging=EventDragging_1.default; var DateSelecting_1=__webpack_require__(225); exports.DateSelecting=DateSelecting_1.default; var StandardInteractionsMixin_1=__webpack_require__(60); exports.StandardInteractionsMixin=StandardInteractionsMixin_1.default; var AgendaView_1=__webpack_require__(226); exports.AgendaView=AgendaView_1.default; var TimeGrid_1=__webpack_require__(227); exports.TimeGrid=TimeGrid_1.default; var DayGrid_1=__webpack_require__(61); exports.DayGrid=DayGrid_1.default; var BasicView_1=__webpack_require__(62); exports.BasicView=BasicView_1.default; var MonthView_1=__webpack_require__(229); exports.MonthView=MonthView_1.default; var ListView_1=__webpack_require__(230); exports.ListView=ListView_1.default; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var UnzonedRange_1=__webpack_require__(5); var EventDateProfile= (function (){ function EventDateProfile(start, end, calendar){ this.start=start; this.end=end||null; this.unzonedRange=this.buildUnzonedRange(calendar); } EventDateProfile.parse=function (rawProps, source){ var startInput=rawProps.start||rawProps.date; var endInput=rawProps.end; if(!startInput){ return false; } var calendar=source.calendar; var start=calendar.moment(startInput); var end=endInput ? calendar.moment(endInput):null; var forcedAllDay=rawProps.allDay; var forceEventDuration=calendar.opt('forceEventDuration'); if(!start.isValid()){ return false; } if(end&&(!end.isValid()||!end.isAfter(start))){ end=null; } if(forcedAllDay==null){ forcedAllDay=source.allDayDefault; if(forcedAllDay==null){ forcedAllDay=calendar.opt('allDayDefault'); }} if(forcedAllDay===true){ start.stripTime(); if(end){ end.stripTime(); }} else if(forcedAllDay===false){ if(!start.hasTime()){ start.time(0); } if(end&&!end.hasTime()){ end.time(0); }} if(!end&&forceEventDuration){ end=calendar.getDefaultEventEnd(!start.hasTime(), start); } return new EventDateProfile(start, end, calendar); }; EventDateProfile.isStandardProp=function (propName){ return propName==='start'||propName==='date'||propName==='end'||propName==='allDay'; }; EventDateProfile.prototype.isAllDay=function (){ return !(this.start.hasTime()||(this.end&&this.end.hasTime())); }; EventDateProfile.prototype.buildUnzonedRange=function (calendar){ var startMs=this.start.clone().stripZone().valueOf(); var endMs=this.getEnd(calendar).stripZone().valueOf(); return new UnzonedRange_1.default(startMs, endMs); }; EventDateProfile.prototype.getEnd=function (calendar){ return this.end ? this.end.clone() : calendar.getDefaultEventEnd(this.isAllDay(), this.start); }; return EventDateProfile; }()); exports.default=EventDateProfile; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var UnzonedRange_1=__webpack_require__(5); var util_1=__webpack_require__(35); var EventRange_1=__webpack_require__(211); var EventInstanceGroup= (function (){ function EventInstanceGroup(eventInstances){ this.eventInstances=eventInstances||[]; } EventInstanceGroup.prototype.getAllEventRanges=function (constraintRange){ if(constraintRange){ return this.sliceNormalRenderRanges(constraintRange); }else{ return this.eventInstances.map(util_1.eventInstanceToEventRange); }}; EventInstanceGroup.prototype.sliceRenderRanges=function (constraintRange){ if(this.isInverse()){ return this.sliceInverseRenderRanges(constraintRange); }else{ return this.sliceNormalRenderRanges(constraintRange); }}; EventInstanceGroup.prototype.sliceNormalRenderRanges=function (constraintRange){ var eventInstances=this.eventInstances; var i; var eventInstance; var slicedRange; var slicedEventRanges=[]; for (i=0; i < eventInstances.length; i++){ eventInstance=eventInstances[i]; slicedRange=eventInstance.dateProfile.unzonedRange.intersect(constraintRange); if(slicedRange){ slicedEventRanges.push(new EventRange_1.default(slicedRange, eventInstance.def, eventInstance)); }} return slicedEventRanges; }; EventInstanceGroup.prototype.sliceInverseRenderRanges=function (constraintRange){ var unzonedRanges=this.eventInstances.map(util_1.eventInstanceToUnzonedRange); var ownerDef=this.getEventDef(); unzonedRanges=UnzonedRange_1.default.invertRanges(unzonedRanges, constraintRange); return unzonedRanges.map(function (unzonedRange){ return new EventRange_1.default(unzonedRange, ownerDef); }); }; EventInstanceGroup.prototype.isInverse=function (){ return this.getEventDef().hasInverseRendering(); }; EventInstanceGroup.prototype.getEventDef=function (){ return this.explicitEventDef||this.eventInstances[0].def; }; return EventInstanceGroup; }()); exports.default=EventInstanceGroup; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var Theme= (function (){ function Theme(optionsManager){ this.optionsManager=optionsManager; this.processIconOverride(); } Theme.prototype.processIconOverride=function (){ if(this.iconOverrideOption){ this.setIconOverride(this.optionsManager.get(this.iconOverrideOption)); }}; Theme.prototype.setIconOverride=function (iconOverrideHash){ var iconClassesCopy; var buttonName; if($.isPlainObject(iconOverrideHash)){ iconClassesCopy=$.extend({}, this.iconClasses); for (buttonName in iconOverrideHash){ iconClassesCopy[buttonName]=this.applyIconOverridePrefix(iconOverrideHash[buttonName]); } this.iconClasses=iconClassesCopy; } else if(iconOverrideHash===false){ this.iconClasses={};}}; Theme.prototype.applyIconOverridePrefix=function (className){ var prefix=this.iconOverridePrefix; if(prefix&&className.indexOf(prefix)!==0){ className=prefix + className; } return className; }; Theme.prototype.getClass=function (key){ return this.classes[key]||''; }; Theme.prototype.getIconClass=function (buttonName){ var className=this.iconClasses[buttonName]; if(className){ return this.baseIconClass + ' ' + className; } return ''; }; Theme.prototype.getCustomButtonIconClass=function (customButtonProps){ var className; if(this.iconOverrideCustomButtonOption){ className=customButtonProps[this.iconOverrideCustomButtonOption]; if(className){ return this.baseIconClass + ' ' + this.applyIconOverridePrefix(className); }} return ''; }; return Theme; }()); exports.default=Theme; Theme.prototype.classes={}; Theme.prototype.iconClasses={}; Theme.prototype.baseIconClass=''; Theme.prototype.iconOverridePrefix=''; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var PromiseStub={ construct: function (executor){ var deferred=$.Deferred(); var promise=deferred.promise(); if(typeof executor==='function'){ executor(function (val){ deferred.resolve(val); attachImmediatelyResolvingThen(promise, val); }, function (){ deferred.reject(); attachImmediatelyRejectingThen(promise); }); } return promise; }, resolve: function (val){ var deferred=$.Deferred().resolve(val); var promise=deferred.promise(); attachImmediatelyResolvingThen(promise, val); return promise; }, reject: function (){ var deferred=$.Deferred().reject(); var promise=deferred.promise(); attachImmediatelyRejectingThen(promise); return promise; }}; exports.default=PromiseStub; function attachImmediatelyResolvingThen(promise, val){ promise.then=function (onResolve){ if(typeof onResolve==='function'){ return PromiseStub.resolve(onResolve(val)); } return promise; };} function attachImmediatelyRejectingThen(promise){ promise.then=function (onResolve, onReject){ if(typeof onReject==='function'){ onReject(); } return promise; };} }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var exportHooks=__webpack_require__(16); var EmitterMixin_1=__webpack_require__(11); var ListenerMixin_1=__webpack_require__(7); exportHooks.touchMouseIgnoreWait=500; var globalEmitter=null; var neededCount=0; var GlobalEmitter= (function (){ function GlobalEmitter(){ this.isTouching=false; this.mouseIgnoreDepth=0; } GlobalEmitter.get=function (){ if(!globalEmitter){ globalEmitter=new GlobalEmitter(); globalEmitter.bind(); } return globalEmitter; }; GlobalEmitter.needed=function (){ GlobalEmitter.get(); neededCount++; }; GlobalEmitter.unneeded=function (){ neededCount--; if(!neededCount){ globalEmitter.unbind(); globalEmitter=null; }}; GlobalEmitter.prototype.bind=function (){ var _this=this; this.listenTo($(document), { touchstart: this.handleTouchStart, touchcancel: this.handleTouchCancel, touchend: this.handleTouchEnd, mousedown: this.handleMouseDown, mousemove: this.handleMouseMove, mouseup: this.handleMouseUp, click: this.handleClick, selectstart: this.handleSelectStart, contextmenu: this.handleContextMenu }); window.addEventListener('touchmove', this.handleTouchMoveProxy=function (ev){ _this.handleTouchMove($.Event(ev)); }, { passive: false } ); window.addEventListener('scroll', this.handleScrollProxy=function (ev){ _this.handleScroll($.Event(ev)); }, true ); }; GlobalEmitter.prototype.unbind=function (){ this.stopListeningTo($(document)); window.removeEventListener('touchmove', this.handleTouchMoveProxy); window.removeEventListener('scroll', this.handleScrollProxy, true ); }; GlobalEmitter.prototype.handleTouchStart=function (ev){ this.stopTouch(ev, true); this.isTouching=true; this.trigger('touchstart', ev); }; GlobalEmitter.prototype.handleTouchMove=function (ev){ if(this.isTouching){ this.trigger('touchmove', ev); }}; GlobalEmitter.prototype.handleTouchCancel=function (ev){ if(this.isTouching){ this.trigger('touchcancel', ev); this.stopTouch(ev); }}; GlobalEmitter.prototype.handleTouchEnd=function (ev){ this.stopTouch(ev); }; GlobalEmitter.prototype.handleMouseDown=function (ev){ if(!this.shouldIgnoreMouse()){ this.trigger('mousedown', ev); }}; GlobalEmitter.prototype.handleMouseMove=function (ev){ if(!this.shouldIgnoreMouse()){ this.trigger('mousemove', ev); }}; GlobalEmitter.prototype.handleMouseUp=function (ev){ if(!this.shouldIgnoreMouse()){ this.trigger('mouseup', ev); }}; GlobalEmitter.prototype.handleClick=function (ev){ if(!this.shouldIgnoreMouse()){ this.trigger('click', ev); }}; GlobalEmitter.prototype.handleSelectStart=function (ev){ this.trigger('selectstart', ev); }; GlobalEmitter.prototype.handleContextMenu=function (ev){ this.trigger('contextmenu', ev); }; GlobalEmitter.prototype.handleScroll=function (ev){ this.trigger('scroll', ev); }; GlobalEmitter.prototype.stopTouch=function (ev, skipMouseIgnore){ if(skipMouseIgnore===void 0){ skipMouseIgnore=false; } if(this.isTouching){ this.isTouching=false; this.trigger('touchend', ev); if(!skipMouseIgnore){ this.startTouchMouseIgnore(); }} }; GlobalEmitter.prototype.startTouchMouseIgnore=function (){ var _this=this; var wait=exportHooks.touchMouseIgnoreWait; if(wait){ this.mouseIgnoreDepth++; setTimeout(function (){ _this.mouseIgnoreDepth--; }, wait); }}; GlobalEmitter.prototype.shouldIgnoreMouse=function (){ return this.isTouching||Boolean(this.mouseIgnoreDepth); }; return GlobalEmitter; }()); exports.default=GlobalEmitter; ListenerMixin_1.default.mixInto(GlobalEmitter); EmitterMixin_1.default.mixInto(GlobalEmitter); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var exportHooks=__webpack_require__(16); exports.viewHash={}; exportHooks.views=exports.viewHash; function defineView(viewName, viewConfig){ exports.viewHash[viewName]=viewConfig; } exports.defineView=defineView; function getViewConfig(viewName){ return exports.viewHash[viewName]; } exports.getViewConfig=getViewConfig; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var DragListener_1=__webpack_require__(54); var HitDragListener= (function (_super){ tslib_1.__extends(HitDragListener, _super); function HitDragListener(component, options){ var _this=_super.call(this, options)||this; _this.component=component; return _this; } HitDragListener.prototype.handleInteractionStart=function (ev){ var subjectEl=this.subjectEl; var subjectRect; var origPoint; var point; this.component.hitsNeeded(); this.computeScrollBounds(); if(ev){ origPoint={ left: util_1.getEvX(ev), top: util_1.getEvY(ev) }; point=origPoint; if(subjectEl){ subjectRect=util_1.getOuterRect(subjectEl); point=util_1.constrainPoint(point, subjectRect); } this.origHit=this.queryHit(point.left, point.top); if(subjectEl&&this.options.subjectCenter){ if(this.origHit){ subjectRect=util_1.intersectRects(this.origHit, subjectRect) || subjectRect; } point=util_1.getRectCenter(subjectRect); } this.coordAdjust=util_1.diffPoints(point, origPoint); }else{ this.origHit=null; this.coordAdjust=null; } _super.prototype.handleInteractionStart.call(this, ev); }; HitDragListener.prototype.handleDragStart=function (ev){ var hit; _super.prototype.handleDragStart.call(this, ev); hit=this.queryHit(util_1.getEvX(ev), util_1.getEvY(ev)); if(hit){ this.handleHitOver(hit); }}; HitDragListener.prototype.handleDrag=function (dx, dy, ev){ var hit; _super.prototype.handleDrag.call(this, dx, dy, ev); hit=this.queryHit(util_1.getEvX(ev), util_1.getEvY(ev)); if(!isHitsEqual(hit, this.hit)){ if(this.hit){ this.handleHitOut(); } if(hit){ this.handleHitOver(hit); }} }; HitDragListener.prototype.handleDragEnd=function (ev){ this.handleHitDone(); _super.prototype.handleDragEnd.call(this, ev); }; HitDragListener.prototype.handleHitOver=function (hit){ var isOrig=isHitsEqual(hit, this.origHit); this.hit=hit; this.trigger('hitOver', this.hit, isOrig, this.origHit); }; HitDragListener.prototype.handleHitOut=function (){ if(this.hit){ this.trigger('hitOut', this.hit); this.handleHitDone(); this.hit=null; }}; HitDragListener.prototype.handleHitDone=function (){ if(this.hit){ this.trigger('hitDone', this.hit); }}; HitDragListener.prototype.handleInteractionEnd=function (ev, isCancelled){ _super.prototype.handleInteractionEnd.call(this, ev, isCancelled); this.origHit=null; this.hit=null; this.component.hitsNotNeeded(); }; HitDragListener.prototype.handleScrollEnd=function (){ _super.prototype.handleScrollEnd.call(this); if(this.isDragging){ this.component.releaseHits(); this.component.prepareHits(); }}; HitDragListener.prototype.queryHit=function (left, top){ if(this.coordAdjust){ left +=this.coordAdjust.left; top +=this.coordAdjust.top; } return this.component.queryHit(left, top); }; return HitDragListener; }(DragListener_1.default)); exports.default=HitDragListener; function isHitsEqual(hit0, hit1){ if(!hit0&&!hit1){ return true; } if(hit0&&hit1){ return hit0.component===hit1.component && isHitPropsWithin(hit0, hit1) && isHitPropsWithin(hit1, hit0); } return false; } function isHitPropsWithin(subHit, superHit){ for (var propName in subHit){ if(!/^(component|left|right|top|bottom)$/.test(propName)){ if(subHit[propName]!==superHit[propName]){ return false; }} } return true; } }), , , , , , , , (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var moment=__webpack_require__(0); var exportHooks=__webpack_require__(16); var options_1=__webpack_require__(32); var util_1=__webpack_require__(4); exports.localeOptionHash={}; exportHooks.locales=exports.localeOptionHash; var dpComputableOptions={ buttonText: function (dpOptions){ return { prev: util_1.stripHtmlEntities(dpOptions.prevText), next: util_1.stripHtmlEntities(dpOptions.nextText), today: util_1.stripHtmlEntities(dpOptions.currentText) };}, monthYearFormat: function (dpOptions){ return dpOptions.showMonthAfterYear ? 'YYYY[' + dpOptions.yearSuffix + '] MMMM' : 'MMMM YYYY[' + dpOptions.yearSuffix + ']'; }}; var momComputableOptions={ dayOfMonthFormat: function (momOptions, fcOptions){ var format=momOptions.longDateFormat('l'); format=format.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g, ''); if(fcOptions.isRTL){ format +=' ddd'; }else{ format='ddd ' + format; } return format; }, mediumTimeFormat: function (momOptions){ return momOptions.longDateFormat('LT') .replace(/\s*a$/i, 'a'); }, smallTimeFormat: function (momOptions){ return momOptions.longDateFormat('LT') .replace(':mm', '(:mm)') .replace(/(\Wmm)$/, '($1)') .replace(/\s*a$/i, 'a'); }, extraSmallTimeFormat: function (momOptions){ return momOptions.longDateFormat('LT') .replace(':mm', '(:mm)') .replace(/(\Wmm)$/, '($1)') .replace(/\s*a$/i, 't'); }, hourFormat: function (momOptions){ return momOptions.longDateFormat('LT') .replace(':mm', '') .replace(/(\Wmm)$/, '') .replace(/\s*a$/i, 'a'); }, noMeridiemTimeFormat: function (momOptions){ return momOptions.longDateFormat('LT') .replace(/\s*a$/i, ''); }}; var instanceComputableOptions={ smallDayDateFormat: function (options){ return options.isRTL ? 'D dd' : 'dd D'; }, weekFormat: function (options){ return options.isRTL ? 'w[ ' + options.weekNumberTitle + ']' : '[' + options.weekNumberTitle + ' ]w'; }, smallWeekFormat: function (options){ return options.isRTL ? 'w[' + options.weekNumberTitle + ']' : '[' + options.weekNumberTitle + ']w'; }}; function populateInstanceComputableOptions(options){ $.each(instanceComputableOptions, function (name, func){ if(options[name]==null){ options[name]=func(options); }}); } exports.populateInstanceComputableOptions=populateInstanceComputableOptions; function datepickerLocale(localeCode, dpLocaleCode, dpOptions){ var fcOptions=exports.localeOptionHash[localeCode]||(exports.localeOptionHash[localeCode]={}); fcOptions.isRTL=dpOptions.isRTL; fcOptions.weekNumberTitle=dpOptions.weekHeader; $.each(dpComputableOptions, function (name, func){ fcOptions[name]=func(dpOptions); }); var jqDatePicker=$.datepicker; if(jqDatePicker){ jqDatePicker.regional[dpLocaleCode] = jqDatePicker.regional[localeCode] = dpOptions; jqDatePicker.regional.en=jqDatePicker.regional['']; jqDatePicker.setDefaults(dpOptions); }} exports.datepickerLocale=datepickerLocale; function locale(localeCode, newFcOptions){ var fcOptions; var momOptions; fcOptions=exports.localeOptionHash[localeCode]||(exports.localeOptionHash[localeCode]={}); if(newFcOptions){ fcOptions=exports.localeOptionHash[localeCode]=options_1.mergeOptions([fcOptions, newFcOptions]); } momOptions=getMomentLocaleData(localeCode); $.each(momComputableOptions, function (name, func){ if(fcOptions[name]==null){ fcOptions[name]=(func)(momOptions, fcOptions); }}); options_1.globalDefaults.locale=localeCode; } exports.locale=locale; function getMomentLocaleData(localeCode){ return moment.localeData(localeCode)||moment.localeData('en'); } exports.getMomentLocaleData=getMomentLocaleData; locale('en', options_1.englishDefaults); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var util_1=__webpack_require__(4); exports.globalDefaults={ titleRangeSeparator: ' \u2013 ', monthYearFormat: 'MMMM YYYY', defaultTimedEventDuration: '02:00:00', defaultAllDayEventDuration: { days: 1 }, forceEventDuration: false, nextDayThreshold: '09:00:00', columnHeader: true, defaultView: 'month', aspectRatio: 1.35, header: { left: 'title', center: '', right: 'today prev,next' }, weekends: true, weekNumbers: false, weekNumberTitle: 'W', weekNumberCalculation: 'local', scrollTime: '06:00:00', minTime: '00:00:00', maxTime: '24:00:00', showNonCurrentDates: true, lazyFetching: true, startParam: 'start', endParam: 'end', timezoneParam: 'timezone', timezone: false, locale: null, isRTL: false, buttonText: { prev: 'prev', next: 'next', prevYear: 'prev year', nextYear: 'next year', year: 'year', today: 'today', month: 'month', week: 'week', day: 'day' }, allDayText: 'all-day', agendaEventMinHeight: 0, theme: false, dragOpacity: .75, dragRevertDuration: 500, dragScroll: true, unselectAuto: true, dropAccept: '*', eventOrder: 'title', eventLimit: false, eventLimitText: 'more', eventLimitClick: 'popover', dayPopoverFormat: 'LL', handleWindowResize: true, windowResizeDelay: 100, longPressDelay: 1000 }; exports.englishDefaults={ dayPopoverFormat: 'dddd, MMMM D' }; exports.rtlDefaults={ header: { left: 'next,prev today', center: '', right: 'title' }, buttonIcons: { prev: 'right-single-arrow', next: 'left-single-arrow', prevYear: 'right-double-arrow', nextYear: 'left-double-arrow' }, themeButtonIcons: { prev: 'circle-triangle-e', next: 'circle-triangle-w', nextYear: 'seek-prev', prevYear: 'seek-next' }}; var complexOptions=[ 'header', 'footer', 'buttonText', 'buttonIcons', 'themeButtonIcons' ]; function mergeOptions(optionObjs){ return util_1.mergeProps(optionObjs, complexOptions); } exports.mergeOptions=mergeOptions; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var Class= (function (){ function Class(){ } Class.extend=function (members){ var SubClass= (function (_super){ tslib_1.__extends(SubClass, _super); function SubClass(){ return _super!==null&&_super.apply(this, arguments)||this; } return SubClass; }(this)); util_1.copyOwnProps(members, SubClass.prototype); return SubClass; }; Class.mixin=function (members){ util_1.copyOwnProps(members, this.prototype); }; return Class; }()); exports.default=Class; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var ParsableModelMixin_1=__webpack_require__(208); var EventDef= (function (){ function EventDef(source){ this.source=source; this.className=[]; this.miscProps={};} EventDef.parse=function (rawInput, source){ var def=new this(source); if(def.applyProps(rawInput)){ return def; } return false; }; EventDef.normalizeId=function (id){ return String(id); }; EventDef.generateId=function (){ return '_fc' + (EventDef.uuid++); }; EventDef.prototype.clone=function (){ var copy=new this.constructor(this.source); copy.id=this.id; copy.rawId=this.rawId; copy.uid=this.uid; EventDef.copyVerbatimStandardProps(this, copy); copy.className=this.className.slice(); copy.miscProps=$.extend({}, this.miscProps); return copy; }; EventDef.prototype.hasInverseRendering=function (){ return this.getRendering()==='inverse-background'; }; EventDef.prototype.hasBgRendering=function (){ var rendering=this.getRendering(); return rendering==='inverse-background'||rendering==='background'; }; EventDef.prototype.getRendering=function (){ if(this.rendering!=null){ return this.rendering; } return this.source.rendering; }; EventDef.prototype.getConstraint=function (){ if(this.constraint!=null){ return this.constraint; } if(this.source.constraint!=null){ return this.source.constraint; } return this.source.calendar.opt('eventConstraint'); }; EventDef.prototype.getOverlap=function (){ if(this.overlap!=null){ return this.overlap; } if(this.source.overlap!=null){ return this.source.overlap; } return this.source.calendar.opt('eventOverlap'); }; EventDef.prototype.isStartExplicitlyEditable=function (){ if(this.startEditable!=null){ return this.startEditable; } return this.source.startEditable; }; EventDef.prototype.isDurationExplicitlyEditable=function (){ if(this.durationEditable!=null){ return this.durationEditable; } return this.source.durationEditable; }; EventDef.prototype.isExplicitlyEditable=function (){ if(this.editable!=null){ return this.editable; } return this.source.editable; }; EventDef.prototype.toLegacy=function (){ var obj=$.extend({}, this.miscProps); obj._id=this.uid; obj.source=this.source; obj.className=this.className.slice(); obj.allDay=this.isAllDay(); if(this.rawId!=null){ obj.id=this.rawId; } EventDef.copyVerbatimStandardProps(this, obj); return obj; }; EventDef.prototype.applyManualStandardProps=function (rawProps){ if(rawProps.id!=null){ this.id=EventDef.normalizeId((this.rawId=rawProps.id)); }else{ this.id=EventDef.generateId(); } if(rawProps._id!=null){ this.uid=String(rawProps._id); }else{ this.uid=EventDef.generateId(); } if($.isArray(rawProps.className)){ this.className=rawProps.className; } if(typeof rawProps.className==='string'){ this.className=rawProps.className.split(/\s+/); } return true; }; EventDef.prototype.applyMiscProps=function (rawProps){ $.extend(this.miscProps, rawProps); }; EventDef.uuid=0; EventDef.defineStandardProps=ParsableModelMixin_1.default.defineStandardProps; EventDef.copyVerbatimStandardProps=ParsableModelMixin_1.default.copyVerbatimStandardProps; return EventDef; }()); exports.default=EventDef; ParsableModelMixin_1.default.mixInto(EventDef); EventDef.defineStandardProps({ _id: false, id: false, className: false, source: false, title: true, url: true, rendering: true, constraint: true, overlap: true, editable: true, startEditable: true, durationEditable: true, color: true, backgroundColor: true, borderColor: true, textColor: true }); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var EventRange_1=__webpack_require__(211); var EventFootprint_1=__webpack_require__(36); var ComponentFootprint_1=__webpack_require__(12); function eventDefsToEventInstances(eventDefs, unzonedRange){ var eventInstances=[]; var i; for (i=0; i < eventDefs.length; i++){ eventInstances.push.apply(eventInstances, eventDefs[i].buildInstances(unzonedRange)); } return eventInstances; } exports.eventDefsToEventInstances=eventDefsToEventInstances; function eventInstanceToEventRange(eventInstance){ return new EventRange_1.default(eventInstance.dateProfile.unzonedRange, eventInstance.def, eventInstance); } exports.eventInstanceToEventRange=eventInstanceToEventRange; function eventRangeToEventFootprint(eventRange){ return new EventFootprint_1.default(new ComponentFootprint_1.default(eventRange.unzonedRange, eventRange.eventDef.isAllDay()), eventRange.eventDef, eventRange.eventInstance ); } exports.eventRangeToEventFootprint=eventRangeToEventFootprint; function eventInstanceToUnzonedRange(eventInstance){ return eventInstance.dateProfile.unzonedRange; } exports.eventInstanceToUnzonedRange=eventInstanceToUnzonedRange; function eventFootprintToComponentFootprint(eventFootprint){ return eventFootprint.componentFootprint; } exports.eventFootprintToComponentFootprint=eventFootprintToComponentFootprint; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var EventFootprint= (function (){ function EventFootprint(componentFootprint, eventDef, eventInstance){ this.componentFootprint=componentFootprint; this.eventDef=eventDef; if(eventInstance){ this.eventInstance=eventInstance; }} EventFootprint.prototype.getEventLegacy=function (){ return (this.eventInstance||this.eventDef).toLegacy(); }; return EventFootprint; }()); exports.default=EventFootprint; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var util_1=__webpack_require__(4); var EventDateProfile_1=__webpack_require__(17); var EventDef_1=__webpack_require__(34); var EventDefDateMutation_1=__webpack_require__(50); var SingleEventDef_1=__webpack_require__(13); var EventDefMutation= (function (){ function EventDefMutation(){ } EventDefMutation.createFromRawProps=function (eventInstance, rawProps, largeUnit){ var eventDef=eventInstance.def; var dateProps={}; var standardProps={}; var miscProps={}; var verbatimStandardProps={}; var eventDefId=null; var className=null; var propName; var dateProfile; var dateMutation; var defMutation; for (propName in rawProps){ if(EventDateProfile_1.default.isStandardProp(propName)){ dateProps[propName]=rawProps[propName]; } else if(eventDef.isStandardProp(propName)){ standardProps[propName]=rawProps[propName]; } else if(eventDef.miscProps[propName]!==rawProps[propName]){ miscProps[propName]=rawProps[propName]; }} dateProfile=EventDateProfile_1.default.parse(dateProps, eventDef.source); if(dateProfile){ dateMutation=EventDefDateMutation_1.default.createFromDiff(eventInstance.dateProfile, dateProfile, largeUnit); } if(standardProps.id!==eventDef.id){ eventDefId=standardProps.id; } if(!util_1.isArraysEqual(standardProps.className, eventDef.className)){ className=standardProps.className; } EventDef_1.default.copyVerbatimStandardProps(standardProps, verbatimStandardProps ); defMutation=new EventDefMutation(); defMutation.eventDefId=eventDefId; defMutation.className=className; defMutation.verbatimStandardProps=verbatimStandardProps; defMutation.miscProps=miscProps; if(dateMutation){ defMutation.dateMutation=dateMutation; } return defMutation; }; EventDefMutation.prototype.mutateSingle=function (eventDef){ var origDateProfile; if(this.dateMutation){ origDateProfile=eventDef.dateProfile; eventDef.dateProfile=this.dateMutation.buildNewDateProfile(origDateProfile, eventDef.source.calendar); } if(this.eventDefId!=null){ eventDef.id=EventDef_1.default.normalizeId((eventDef.rawId=this.eventDefId)); } if(this.className){ eventDef.className=this.className; } if(this.verbatimStandardProps){ SingleEventDef_1.default.copyVerbatimStandardProps(this.verbatimStandardProps, eventDef ); } if(this.miscProps){ eventDef.applyMiscProps(this.miscProps); } if(origDateProfile){ return function (){ eventDef.dateProfile=origDateProfile; };}else{ return function (){ };}}; EventDefMutation.prototype.setDateMutation=function (dateMutation){ if(dateMutation&&!dateMutation.isEmpty()){ this.dateMutation=dateMutation; }else{ this.dateMutation=null; }}; EventDefMutation.prototype.isEmpty=function (){ return !this.dateMutation; }; return EventDefMutation; }()); exports.default=EventDefMutation; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); exports.default={ sourceClasses: [], registerClass: function (EventSourceClass){ this.sourceClasses.unshift(EventSourceClass); }, parse: function (rawInput, calendar){ var sourceClasses=this.sourceClasses; var i; var eventSource; for (i=0; i < sourceClasses.length; i++){ eventSource=sourceClasses[i].parse(rawInput, calendar); if(eventSource){ return eventSource; }} }}; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Class_1=__webpack_require__(33); var Scroller= (function (_super){ tslib_1.__extends(Scroller, _super); function Scroller(options){ var _this=_super.call(this)||this; options=options||{}; _this.overflowX=options.overflowX||options.overflow||'auto'; _this.overflowY=options.overflowY||options.overflow||'auto'; return _this; } Scroller.prototype.render=function (){ this.el=this.renderEl(); this.applyOverflow(); }; Scroller.prototype.renderEl=function (){ return (this.scrollEl=$('
    ')); }; Scroller.prototype.clear=function (){ this.setHeight('auto'); this.applyOverflow(); }; Scroller.prototype.destroy=function (){ this.el.remove(); }; Scroller.prototype.applyOverflow=function (){ this.scrollEl.css({ 'overflow-x': this.overflowX, 'overflow-y': this.overflowY }); }; Scroller.prototype.lockOverflow=function (scrollbarWidths){ var overflowX=this.overflowX; var overflowY=this.overflowY; scrollbarWidths=scrollbarWidths||this.getScrollbarWidths(); if(overflowX==='auto'){ overflowX=(scrollbarWidths.top||scrollbarWidths.bottom || this.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth) ? 'scroll':'hidden'; } if(overflowY==='auto'){ overflowY=(scrollbarWidths.left||scrollbarWidths.right || this.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight) ? 'scroll':'hidden'; } this.scrollEl.css({ 'overflow-x': overflowX, 'overflow-y': overflowY }); }; Scroller.prototype.setHeight=function (height){ this.scrollEl.height(height); }; Scroller.prototype.getScrollTop=function (){ return this.scrollEl.scrollTop(); }; Scroller.prototype.setScrollTop=function (top){ this.scrollEl.scrollTop(top); }; Scroller.prototype.getClientWidth=function (){ return this.scrollEl[0].clientWidth; }; Scroller.prototype.getClientHeight=function (){ return this.scrollEl[0].clientHeight; }; Scroller.prototype.getScrollbarWidths=function (){ return util_1.getScrollbarWidths(this.scrollEl); }; return Scroller; }(Class_1.default)); exports.default=Scroller; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var DateComponent_1=__webpack_require__(219); var GlobalEmitter_1=__webpack_require__(21); var InteractiveDateComponent= (function (_super){ tslib_1.__extends(InteractiveDateComponent, _super); function InteractiveDateComponent(_view, _options){ var _this=_super.call(this, _view, _options)||this; _this.segSelector='.fc-event-container > *'; if(_this.dateSelectingClass){ _this.dateClicking=new _this.dateClickingClass(_this); } if(_this.dateSelectingClass){ _this.dateSelecting=new _this.dateSelectingClass(_this); } if(_this.eventPointingClass){ _this.eventPointing=new _this.eventPointingClass(_this); } if(_this.eventDraggingClass&&_this.eventPointing){ _this.eventDragging=new _this.eventDraggingClass(_this, _this.eventPointing); } if(_this.eventResizingClass&&_this.eventPointing){ _this.eventResizing=new _this.eventResizingClass(_this, _this.eventPointing); } if(_this.externalDroppingClass){ _this.externalDropping=new _this.externalDroppingClass(_this); } return _this; } InteractiveDateComponent.prototype.setElement=function (el){ _super.prototype.setElement.call(this, el); if(this.dateClicking){ this.dateClicking.bindToEl(el); } if(this.dateSelecting){ this.dateSelecting.bindToEl(el); } this.bindAllSegHandlersToEl(el); }; InteractiveDateComponent.prototype.removeElement=function (){ this.endInteractions(); _super.prototype.removeElement.call(this); }; InteractiveDateComponent.prototype.executeEventUnrender=function (){ this.endInteractions(); _super.prototype.executeEventUnrender.call(this); }; InteractiveDateComponent.prototype.bindGlobalHandlers=function (){ _super.prototype.bindGlobalHandlers.call(this); if(this.externalDropping){ this.externalDropping.bindToDocument(); }}; InteractiveDateComponent.prototype.unbindGlobalHandlers=function (){ _super.prototype.unbindGlobalHandlers.call(this); if(this.externalDropping){ this.externalDropping.unbindFromDocument(); }}; InteractiveDateComponent.prototype.bindDateHandlerToEl=function (el, name, handler){ var _this=this; this.el.on(name, function (ev){ if(!$(ev.target).is(_this.segSelector + ':not(.fc-helper),' + _this.segSelector + ':not(.fc-helper) *,' + '.fc-more,' + 'a[data-goto]' )){ return handler.call(_this, ev); }}); }; InteractiveDateComponent.prototype.bindAllSegHandlersToEl=function (el){ [ this.eventPointing, this.eventDragging, this.eventResizing ].forEach(function (eventInteraction){ if(eventInteraction){ eventInteraction.bindToEl(el); }}); }; InteractiveDateComponent.prototype.bindSegHandlerToEl=function (el, name, handler){ var _this=this; el.on(name, this.segSelector, function (ev){ var segEl=$(ev.currentTarget); if(!segEl.is('.fc-helper')){ var seg=segEl.data('fc-seg'); if(seg&&!_this.shouldIgnoreEventPointing()){ return handler.call(_this, seg, ev); }} }); }; InteractiveDateComponent.prototype.shouldIgnoreMouse=function (){ return GlobalEmitter_1.default.get().shouldIgnoreMouse(); }; InteractiveDateComponent.prototype.shouldIgnoreTouch=function (){ var view=this._getView(); return view.isSelected||view.selectedEvent; }; InteractiveDateComponent.prototype.shouldIgnoreEventPointing=function (){ return (this.eventDragging&&this.eventDragging.isDragging) || (this.eventResizing&&this.eventResizing.isResizing); }; InteractiveDateComponent.prototype.canStartSelection=function (seg, ev){ return util_1.getEvIsTouch(ev) && !this.canStartResize(seg, ev) && (this.isEventDefDraggable(seg.footprint.eventDef) || this.isEventDefResizable(seg.footprint.eventDef)); }; InteractiveDateComponent.prototype.canStartDrag=function (seg, ev){ return !this.canStartResize(seg, ev) && this.isEventDefDraggable(seg.footprint.eventDef); }; InteractiveDateComponent.prototype.canStartResize=function (seg, ev){ var view=this._getView(); var eventDef=seg.footprint.eventDef; return (!util_1.getEvIsTouch(ev)||view.isEventDefSelected(eventDef)) && this.isEventDefResizable(eventDef) && $(ev.target).is('.fc-resizer'); }; InteractiveDateComponent.prototype.endInteractions=function (){ [ this.dateClicking, this.dateSelecting, this.eventPointing, this.eventDragging, this.eventResizing ].forEach(function (interaction){ if(interaction){ interaction.end(); }}); }; InteractiveDateComponent.prototype.isEventDefDraggable=function (eventDef){ return this.isEventDefStartEditable(eventDef); }; InteractiveDateComponent.prototype.isEventDefStartEditable=function (eventDef){ var isEditable=eventDef.isStartExplicitlyEditable(); if(isEditable==null){ isEditable=this.opt('eventStartEditable'); if(isEditable==null){ isEditable=this.isEventDefGenerallyEditable(eventDef); }} return isEditable; }; InteractiveDateComponent.prototype.isEventDefGenerallyEditable=function (eventDef){ var isEditable=eventDef.isExplicitlyEditable(); if(isEditable==null){ isEditable=this.opt('editable'); } return isEditable; }; InteractiveDateComponent.prototype.isEventDefResizableFromStart=function (eventDef){ return this.opt('eventResizableFromStart')&&this.isEventDefResizable(eventDef); }; InteractiveDateComponent.prototype.isEventDefResizableFromEnd=function (eventDef){ return this.isEventDefResizable(eventDef); }; InteractiveDateComponent.prototype.isEventDefResizable=function (eventDef){ var isResizable=eventDef.isDurationExplicitlyEditable(); if(isResizable==null){ isResizable=this.opt('eventDurationEditable'); if(isResizable==null){ isResizable=this.isEventDefGenerallyEditable(eventDef); }} return isResizable; }; InteractiveDateComponent.prototype.diffDates=function (a, b){ if(this.largeUnit){ return util_1.diffByUnit(a, b, this.largeUnit); }else{ return util_1.diffDayTime(a, b); }}; InteractiveDateComponent.prototype.isEventInstanceGroupAllowed=function (eventInstanceGroup){ var view=this._getView(); var dateProfile=this.dateProfile; var eventFootprints=this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges()); var i; for (i=0; i < eventFootprints.length; i++){ if(!dateProfile.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)){ return false; }} return view.calendar.constraints.isEventInstanceGroupAllowed(eventInstanceGroup); }; InteractiveDateComponent.prototype.isExternalInstanceGroupAllowed=function (eventInstanceGroup){ var view=this._getView(); var dateProfile=this.dateProfile; var eventFootprints=this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges()); var i; for (i=0; i < eventFootprints.length; i++){ if(!dateProfile.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)){ return false; }} for (i=0; i < eventFootprints.length; i++){ if(!view.calendar.constraints.isSelectionFootprintAllowed(eventFootprints[i].componentFootprint)){ return false; }} return true; }; return InteractiveDateComponent; }(DateComponent_1.default)); exports.default=InteractiveDateComponent; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var RenderQueue_1=__webpack_require__(218); var DateProfileGenerator_1=__webpack_require__(221); var InteractiveDateComponent_1=__webpack_require__(40); var GlobalEmitter_1=__webpack_require__(21); var UnzonedRange_1=__webpack_require__(5); var View= (function (_super){ tslib_1.__extends(View, _super); function View(calendar, viewSpec){ var _this=_super.call(this, null, viewSpec.options)||this; _this.batchRenderDepth=0; _this.isSelected=false; _this.calendar=calendar; _this.viewSpec=viewSpec; _this.type=viewSpec.type; _this.name=_this.type; _this.initRenderQueue(); _this.initHiddenDays(); _this.dateProfileGenerator=new _this.dateProfileGeneratorClass(_this); _this.bindBaseRenderHandlers(); _this.eventOrderSpecs=util_1.parseFieldSpecs(_this.opt('eventOrder')); if(_this['initialize']){ _this['initialize'](); } return _this; } View.prototype._getView=function (){ return this; }; View.prototype.opt=function (name){ return this.options[name]; }; View.prototype.initRenderQueue=function (){ this.renderQueue=new RenderQueue_1.default({ event: this.opt('eventRenderWait') }); this.renderQueue.on('start', this.onRenderQueueStart.bind(this)); this.renderQueue.on('stop', this.onRenderQueueStop.bind(this)); this.on('before:change', this.startBatchRender); this.on('change', this.stopBatchRender); }; View.prototype.onRenderQueueStart=function (){ this.calendar.freezeContentHeight(); this.addScroll(this.queryScroll()); }; View.prototype.onRenderQueueStop=function (){ if(this.calendar.updateViewSize()){ this.popScroll(); } this.calendar.thawContentHeight(); }; View.prototype.startBatchRender=function (){ if(!(this.batchRenderDepth++)){ this.renderQueue.pause(); }}; View.prototype.stopBatchRender=function (){ if(!(--this.batchRenderDepth)){ this.renderQueue.resume(); }}; View.prototype.requestRender=function (func, namespace, actionType){ this.renderQueue.queue(func, namespace, actionType); }; View.prototype.whenSizeUpdated=function (func){ if(this.renderQueue.isRunning){ this.renderQueue.one('stop', func.bind(this)); }else{ func.call(this); }}; View.prototype.computeTitle=function (dateProfile){ var unzonedRange; if(/^(year|month)$/.test(dateProfile.currentRangeUnit)){ unzonedRange=dateProfile.currentUnzonedRange; }else{ unzonedRange=dateProfile.activeUnzonedRange; } return this.formatRange({ start: this.calendar.msToMoment(unzonedRange.startMs, dateProfile.isRangeAllDay), end: this.calendar.msToMoment(unzonedRange.endMs, dateProfile.isRangeAllDay) }, dateProfile.isRangeAllDay, this.opt('titleFormat')||this.computeTitleFormat(dateProfile), this.opt('titleRangeSeparator')); }; View.prototype.computeTitleFormat=function (dateProfile){ var currentRangeUnit=dateProfile.currentRangeUnit; if(currentRangeUnit==='year'){ return 'YYYY'; } else if(currentRangeUnit==='month'){ return this.opt('monthYearFormat'); } else if(dateProfile.currentUnzonedRange.as('days') > 1){ return 'll'; }else{ return 'LL'; }}; View.prototype.setDate=function (date){ var currentDateProfile=this.get('dateProfile'); var newDateProfile=this.dateProfileGenerator.build(date, undefined, true); if(!currentDateProfile || !currentDateProfile.activeUnzonedRange.equals(newDateProfile.activeUnzonedRange)){ this.set('dateProfile', newDateProfile); }}; View.prototype.unsetDate=function (){ this.unset('dateProfile'); }; View.prototype.fetchInitialEvents=function (dateProfile){ var calendar=this.calendar; var forceAllDay=dateProfile.isRangeAllDay&&!this.usesMinMaxTime; return calendar.requestEvents(calendar.msToMoment(dateProfile.activeUnzonedRange.startMs, forceAllDay), calendar.msToMoment(dateProfile.activeUnzonedRange.endMs, forceAllDay)); }; View.prototype.bindEventChanges=function (){ this.listenTo(this.calendar, 'eventsReset', this.resetEvents); }; View.prototype.unbindEventChanges=function (){ this.stopListeningTo(this.calendar, 'eventsReset'); }; View.prototype.setEvents=function (eventsPayload){ this.set('currentEvents', eventsPayload); this.set('hasEvents', true); }; View.prototype.unsetEvents=function (){ this.unset('currentEvents'); this.unset('hasEvents'); }; View.prototype.resetEvents=function (eventsPayload){ this.startBatchRender(); this.unsetEvents(); this.setEvents(eventsPayload); this.stopBatchRender(); }; View.prototype.requestDateRender=function (dateProfile){ var _this=this; this.requestRender(function (){ _this.executeDateRender(dateProfile); }, 'date', 'init'); }; View.prototype.requestDateUnrender=function (){ var _this=this; this.requestRender(function (){ _this.executeDateUnrender(); }, 'date', 'destroy'); }; View.prototype.executeDateRender=function (dateProfile){ _super.prototype.executeDateRender.call(this, dateProfile); if(this['render']){ this['render'](); } this.trigger('datesRendered'); this.addScroll({ isDateInit: true }); this.startNowIndicator(); }; View.prototype.executeDateUnrender=function (){ this.unselect(); this.stopNowIndicator(); this.trigger('before:datesUnrendered'); if(this['destroy']){ this['destroy'](); } _super.prototype.executeDateUnrender.call(this); }; View.prototype.bindBaseRenderHandlers=function (){ var _this=this; this.on('datesRendered', function (){ _this.whenSizeUpdated(_this.triggerViewRender); }); this.on('before:datesUnrendered', function (){ _this.triggerViewDestroy(); }); }; View.prototype.triggerViewRender=function (){ this.publiclyTrigger('viewRender', { context: this, args: [this, this.el] }); }; View.prototype.triggerViewDestroy=function (){ this.publiclyTrigger('viewDestroy', { context: this, args: [this, this.el] }); }; View.prototype.requestEventsRender=function (eventsPayload){ var _this=this; this.requestRender(function (){ _this.executeEventRender(eventsPayload); _this.whenSizeUpdated(_this.triggerAfterEventsRendered); }, 'event', 'init'); }; View.prototype.requestEventsUnrender=function (){ var _this=this; this.requestRender(function (){ _this.triggerBeforeEventsDestroyed(); _this.executeEventUnrender(); }, 'event', 'destroy'); }; View.prototype.requestBusinessHoursRender=function (businessHourGenerator){ var _this=this; this.requestRender(function (){ _this.renderBusinessHours(businessHourGenerator); }, 'businessHours', 'init'); }; View.prototype.requestBusinessHoursUnrender=function (){ var _this=this; this.requestRender(function (){ _this.unrenderBusinessHours(); }, 'businessHours', 'destroy'); }; View.prototype.bindGlobalHandlers=function (){ _super.prototype.bindGlobalHandlers.call(this); this.listenTo(GlobalEmitter_1.default.get(), { touchstart: this.processUnselect, mousedown: this.handleDocumentMousedown }); }; View.prototype.unbindGlobalHandlers=function (){ _super.prototype.unbindGlobalHandlers.call(this); this.stopListeningTo(GlobalEmitter_1.default.get()); }; View.prototype.startNowIndicator=function (){ var _this=this; var unit; var update; var delay; if(this.opt('nowIndicator')){ unit=this.getNowIndicatorUnit(); if(unit){ update=util_1.proxy(this, 'updateNowIndicator'); this.initialNowDate=this.calendar.getNow(); this.initialNowQueriedMs=new Date().valueOf(); delay=this.initialNowDate.clone().startOf(unit).add(1, unit).valueOf() - this.initialNowDate.valueOf(); this.nowIndicatorTimeoutID=setTimeout(function (){ _this.nowIndicatorTimeoutID=null; update(); delay=+moment.duration(1, unit); delay=Math.max(100, delay); _this.nowIndicatorIntervalID=setInterval(update, delay); }, delay); }} }; View.prototype.updateNowIndicator=function (){ if(this.isDatesRendered && this.initialNowDate ){ this.unrenderNowIndicator(); this.renderNowIndicator(this.initialNowDate.clone().add(new Date().valueOf() - this.initialNowQueriedMs) ); this.isNowIndicatorRendered=true; }}; View.prototype.stopNowIndicator=function (){ if(this.isNowIndicatorRendered){ if(this.nowIndicatorTimeoutID){ clearTimeout(this.nowIndicatorTimeoutID); this.nowIndicatorTimeoutID=null; } if(this.nowIndicatorIntervalID){ clearInterval(this.nowIndicatorIntervalID); this.nowIndicatorIntervalID=null; } this.unrenderNowIndicator(); this.isNowIndicatorRendered=false; }}; View.prototype.updateSize=function (totalHeight, isAuto, isResize){ if(this['setHeight']){ this['setHeight'](totalHeight, isAuto); }else{ _super.prototype.updateSize.call(this, totalHeight, isAuto, isResize); } this.updateNowIndicator(); }; View.prototype.addScroll=function (scroll){ var queuedScroll=this.queuedScroll||(this.queuedScroll={}); $.extend(queuedScroll, scroll); }; View.prototype.popScroll=function (){ this.applyQueuedScroll(); this.queuedScroll=null; }; View.prototype.applyQueuedScroll=function (){ if(this.queuedScroll){ this.applyScroll(this.queuedScroll); }}; View.prototype.queryScroll=function (){ var scroll={}; if(this.isDatesRendered){ $.extend(scroll, this.queryDateScroll()); } return scroll; }; View.prototype.applyScroll=function (scroll){ if(scroll.isDateInit&&this.isDatesRendered){ $.extend(scroll, this.computeInitialDateScroll()); } if(this.isDatesRendered){ this.applyDateScroll(scroll); }}; View.prototype.computeInitialDateScroll=function (){ return {};}; View.prototype.queryDateScroll=function (){ return {};}; View.prototype.applyDateScroll=function (scroll){ }; View.prototype.reportEventDrop=function (eventInstance, eventMutation, el, ev){ var eventManager=this.calendar.eventManager; var undoFunc=eventManager.mutateEventsWithId(eventInstance.def.id, eventMutation); var dateMutation=eventMutation.dateMutation; if(dateMutation){ eventInstance.dateProfile=dateMutation.buildNewDateProfile(eventInstance.dateProfile, this.calendar); } this.triggerEventDrop(eventInstance, (dateMutation&&dateMutation.dateDelta)||moment.duration(), undoFunc, el, ev); }; View.prototype.triggerEventDrop=function (eventInstance, dateDelta, undoFunc, el, ev){ this.publiclyTrigger('eventDrop', { context: el[0], args: [ eventInstance.toLegacy(), dateDelta, undoFunc, ev, {}, this ] }); }; View.prototype.reportExternalDrop=function (singleEventDef, isEvent, isSticky, el, ev, ui){ if(isEvent){ this.calendar.eventManager.addEventDef(singleEventDef, isSticky); } this.triggerExternalDrop(singleEventDef, isEvent, el, ev, ui); }; View.prototype.triggerExternalDrop=function (singleEventDef, isEvent, el, ev, ui){ this.publiclyTrigger('drop', { context: el[0], args: [ singleEventDef.dateProfile.start.clone(), ev, ui, this ] }); if(isEvent){ this.publiclyTrigger('eventReceive', { context: this, args: [ singleEventDef.buildInstance().toLegacy(), this ] }); }}; View.prototype.reportEventResize=function (eventInstance, eventMutation, el, ev){ var eventManager=this.calendar.eventManager; var undoFunc=eventManager.mutateEventsWithId(eventInstance.def.id, eventMutation); eventInstance.dateProfile=eventMutation.dateMutation.buildNewDateProfile(eventInstance.dateProfile, this.calendar); this.triggerEventResize(eventInstance, eventMutation.dateMutation.endDelta, undoFunc, el, ev); }; View.prototype.triggerEventResize=function (eventInstance, durationDelta, undoFunc, el, ev){ this.publiclyTrigger('eventResize', { context: el[0], args: [ eventInstance.toLegacy(), durationDelta, undoFunc, ev, {}, this ] }); }; View.prototype.select=function (footprint, ev){ this.unselect(ev); this.renderSelectionFootprint(footprint); this.reportSelection(footprint, ev); }; View.prototype.renderSelectionFootprint=function (footprint){ if(this['renderSelection']){ this['renderSelection'](footprint.toLegacy(this.calendar)); }else{ _super.prototype.renderSelectionFootprint.call(this, footprint); }}; View.prototype.reportSelection=function (footprint, ev){ this.isSelected=true; this.triggerSelect(footprint, ev); }; View.prototype.triggerSelect=function (footprint, ev){ var dateProfile=this.calendar.footprintToDateProfile(footprint); this.publiclyTrigger('select', { context: this, args: [ dateProfile.start, dateProfile.end, ev, this ] }); }; View.prototype.unselect=function (ev){ if(this.isSelected){ this.isSelected=false; if(this['destroySelection']){ this['destroySelection'](); } this.unrenderSelection(); this.publiclyTrigger('unselect', { context: this, args: [ev, this] }); }}; View.prototype.selectEventInstance=function (eventInstance){ if(!this.selectedEventInstance || this.selectedEventInstance!==eventInstance){ this.unselectEventInstance(); this.getEventSegs().forEach(function (seg){ if(seg.footprint.eventInstance===eventInstance && seg.el ){ seg.el.addClass('fc-selected'); }}); this.selectedEventInstance=eventInstance; }}; View.prototype.unselectEventInstance=function (){ if(this.selectedEventInstance){ this.getEventSegs().forEach(function (seg){ if(seg.el){ seg.el.removeClass('fc-selected'); }}); this.selectedEventInstance=null; }}; View.prototype.isEventDefSelected=function (eventDef){ return this.selectedEventInstance&&this.selectedEventInstance.def.id===eventDef.id; }; View.prototype.handleDocumentMousedown=function (ev){ if(util_1.isPrimaryMouseButton(ev)){ this.processUnselect(ev); }}; View.prototype.processUnselect=function (ev){ this.processRangeUnselect(ev); this.processEventUnselect(ev); }; View.prototype.processRangeUnselect=function (ev){ var ignore; if(this.isSelected&&this.opt('unselectAuto')){ ignore=this.opt('unselectCancel'); if(!ignore||!$(ev.target).closest(ignore).length){ this.unselect(ev); }} }; View.prototype.processEventUnselect=function (ev){ if(this.selectedEventInstance){ if(!$(ev.target).closest('.fc-selected').length){ this.unselectEventInstance(); }} }; View.prototype.triggerBaseRendered=function (){ this.publiclyTrigger('viewRender', { context: this, args: [this, this.el] }); }; View.prototype.triggerBaseUnrendered=function (){ this.publiclyTrigger('viewDestroy', { context: this, args: [this, this.el] }); }; View.prototype.triggerDayClick=function (footprint, dayEl, ev){ var dateProfile=this.calendar.footprintToDateProfile(footprint); this.publiclyTrigger('dayClick', { context: dayEl, args: [dateProfile.start, ev, this] }); }; View.prototype.isDateInOtherMonth=function (date, dateProfile){ return false; }; View.prototype.getUnzonedRangeOption=function (name){ var val=this.opt(name); if(typeof val==='function'){ val=val.apply(null, Array.prototype.slice.call(arguments, 1)); } if(val){ return this.calendar.parseUnzonedRange(val); }}; View.prototype.initHiddenDays=function (){ var hiddenDays=this.opt('hiddenDays')||[]; var isHiddenDayHash=[]; var dayCnt=0; var i; if(this.opt('weekends')===false){ hiddenDays.push(0, 6); } for (i=0; i < 7; i++){ if(!(isHiddenDayHash[i]=$.inArray(i, hiddenDays)!==-1)){ dayCnt++; }} if(!dayCnt){ throw new Error('invalid hiddenDays'); } this.isHiddenDayHash=isHiddenDayHash; }; View.prototype.trimHiddenDays=function (inputUnzonedRange){ var start=inputUnzonedRange.getStart(); var end=inputUnzonedRange.getEnd(); if(start){ start=this.skipHiddenDays(start); } if(end){ end=this.skipHiddenDays(end, -1, true); } if(start===null||end===null||start < end){ return new UnzonedRange_1.default(start, end); } return null; }; View.prototype.isHiddenDay=function (day){ if(moment.isMoment(day)){ day=day.day(); } return this.isHiddenDayHash[day]; }; View.prototype.skipHiddenDays=function (date, inc, isExclusive){ if(inc===void 0){ inc=1; } if(isExclusive===void 0){ isExclusive=false; } var out=date.clone(); while (this.isHiddenDayHash[(out.day() + (isExclusive ? inc:0) + 7) % 7]){ out.add(inc, 'days'); } return out; }; return View; }(InteractiveDateComponent_1.default)); exports.default=View; View.prototype.usesMinMaxTime=false; View.prototype.dateProfileGeneratorClass=DateProfileGenerator_1.default; View.watch('displayingDates', ['isInDom', 'dateProfile'], function (deps){ this.requestDateRender(deps.dateProfile); }, function (){ this.requestDateUnrender(); }); View.watch('displayingBusinessHours', ['displayingDates', 'businessHourGenerator'], function (deps){ this.requestBusinessHoursRender(deps.businessHourGenerator); }, function (){ this.requestBusinessHoursUnrender(); }); View.watch('initialEvents', ['dateProfile'], function (deps){ return this.fetchInitialEvents(deps.dateProfile); }); View.watch('bindingEvents', ['initialEvents'], function (deps){ this.setEvents(deps.initialEvents); this.bindEventChanges(); }, function (){ this.unbindEventChanges(); this.unsetEvents(); }); View.watch('displayingEvents', ['displayingDates', 'hasEvents'], function (){ this.requestEventsRender(this.get('currentEvents')); }, function (){ this.requestEventsUnrender(); }); View.watch('title', ['dateProfile'], function (deps){ return (this.title=this.computeTitle(deps.dateProfile)); }); View.watch('legacyDateProps', ['dateProfile'], function (deps){ var calendar=this.calendar; var dateProfile=deps.dateProfile; this.start=calendar.msToMoment(dateProfile.activeUnzonedRange.startMs, dateProfile.isRangeAllDay); this.end=calendar.msToMoment(dateProfile.activeUnzonedRange.endMs, dateProfile.isRangeAllDay); this.intervalStart=calendar.msToMoment(dateProfile.currentUnzonedRange.startMs, dateProfile.isRangeAllDay); this.intervalEnd=calendar.msToMoment(dateProfile.currentUnzonedRange.endMs, dateProfile.isRangeAllDay); }); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var EventRenderer= (function (){ function EventRenderer(component, fillRenderer){ this.view=component._getView(); this.component=component; this.fillRenderer=fillRenderer; } EventRenderer.prototype.opt=function (name){ return this.view.opt(name); }; EventRenderer.prototype.rangeUpdated=function (){ var displayEventTime; var displayEventEnd; this.eventTimeFormat = this.opt('eventTimeFormat') || this.opt('timeFormat') || this.computeEventTimeFormat(); displayEventTime=this.opt('displayEventTime'); if(displayEventTime==null){ displayEventTime=this.computeDisplayEventTime(); } displayEventEnd=this.opt('displayEventEnd'); if(displayEventEnd==null){ displayEventEnd=this.computeDisplayEventEnd(); } this.displayEventTime=displayEventTime; this.displayEventEnd=displayEventEnd; }; EventRenderer.prototype.render=function (eventsPayload){ var dateProfile=this.component._getDateProfile(); var eventDefId; var instanceGroup; var eventRanges; var bgRanges=[]; var fgRanges=[]; for (eventDefId in eventsPayload){ instanceGroup=eventsPayload[eventDefId]; eventRanges=instanceGroup.sliceRenderRanges(dateProfile.activeUnzonedRange); if(instanceGroup.getEventDef().hasBgRendering()){ bgRanges.push.apply(bgRanges, eventRanges); }else{ fgRanges.push.apply(fgRanges, eventRanges); }} this.renderBgRanges(bgRanges); this.renderFgRanges(fgRanges); }; EventRenderer.prototype.unrender=function (){ this.unrenderBgRanges(); this.unrenderFgRanges(); }; EventRenderer.prototype.renderFgRanges=function (eventRanges){ var eventFootprints=this.component.eventRangesToEventFootprints(eventRanges); var segs=this.component.eventFootprintsToSegs(eventFootprints); segs=this.renderFgSegEls(segs); if(this.renderFgSegs(segs)!==false){ this.fgSegs=segs; }}; EventRenderer.prototype.unrenderFgRanges=function (){ this.unrenderFgSegs(this.fgSegs||[]); this.fgSegs=null; }; EventRenderer.prototype.renderBgRanges=function (eventRanges){ var eventFootprints=this.component.eventRangesToEventFootprints(eventRanges); var segs=this.component.eventFootprintsToSegs(eventFootprints); if(this.renderBgSegs(segs)!==false){ this.bgSegs=segs; }}; EventRenderer.prototype.unrenderBgRanges=function (){ this.unrenderBgSegs(); this.bgSegs=null; }; EventRenderer.prototype.getSegs=function (){ return (this.bgSegs||[]).concat(this.fgSegs||[]); }; EventRenderer.prototype.renderFgSegs=function (segs){ return false; }; EventRenderer.prototype.unrenderFgSegs=function (segs){ }; EventRenderer.prototype.renderBgSegs=function (segs){ var _this=this; if(this.fillRenderer){ this.fillRenderer.renderSegs('bgEvent', segs, { getClasses: function (seg){ return _this.getBgClasses(seg.footprint.eventDef); }, getCss: function (seg){ return { 'background-color': _this.getBgColor(seg.footprint.eventDef) };}, filterEl: function (seg, el){ return _this.filterEventRenderEl(seg.footprint, el); }}); }else{ return false; }}; EventRenderer.prototype.unrenderBgSegs=function (){ if(this.fillRenderer){ this.fillRenderer.unrender('bgEvent'); }}; EventRenderer.prototype.renderFgSegEls=function (segs, disableResizing){ var _this=this; if(disableResizing===void 0){ disableResizing=false; } var hasEventRenderHandlers=this.view.hasPublicHandlers('eventRender'); var html=''; var renderedSegs=[]; var i; if(segs.length){ for (i=0; i < segs.length; i++){ this.beforeFgSegHtml(segs[i]); html +=this.fgSegHtml(segs[i], disableResizing); } $(html).each(function (i, node){ var seg=segs[i]; var el=$(node); if(hasEventRenderHandlers){ el=_this.filterEventRenderEl(seg.footprint, el); } if(el){ el.data('fc-seg', seg); seg.el=el; renderedSegs.push(seg); }}); } return renderedSegs; }; EventRenderer.prototype.beforeFgSegHtml=function (seg){ }; EventRenderer.prototype.fgSegHtml=function (seg, disableResizing){ }; EventRenderer.prototype.getSegClasses=function (seg, isDraggable, isResizable){ var classes=[ 'fc-event', seg.isStart ? 'fc-start':'fc-not-start', seg.isEnd ? 'fc-end':'fc-not-end' ].concat(this.getClasses(seg.footprint.eventDef)); if(isDraggable){ classes.push('fc-draggable'); } if(isResizable){ classes.push('fc-resizable'); } if(this.view.isEventDefSelected(seg.footprint.eventDef)){ classes.push('fc-selected'); } return classes; }; EventRenderer.prototype.filterEventRenderEl=function (eventFootprint, el){ var legacy=eventFootprint.getEventLegacy(); var custom=this.view.publiclyTrigger('eventRender', { context: legacy, args: [legacy, el, this.view] }); if(custom===false){ el=null; } else if(custom&&custom!==true){ el=$(custom); } return el; }; EventRenderer.prototype.getTimeText=function (eventFootprint, formatStr, displayEnd){ return this._getTimeText(eventFootprint.eventInstance.dateProfile.start, eventFootprint.eventInstance.dateProfile.end, eventFootprint.componentFootprint.isAllDay, formatStr, displayEnd); }; EventRenderer.prototype._getTimeText=function (start, end, isAllDay, formatStr, displayEnd){ if(formatStr==null){ formatStr=this.eventTimeFormat; } if(displayEnd==null){ displayEnd=this.displayEventEnd; } if(this.displayEventTime&&!isAllDay){ if(displayEnd&&end){ return this.view.formatRange({ start: start, end: end }, false, formatStr); }else{ return start.format(formatStr); }} return ''; }; EventRenderer.prototype.computeEventTimeFormat=function (){ return this.opt('smallTimeFormat'); }; EventRenderer.prototype.computeDisplayEventTime=function (){ return true; }; EventRenderer.prototype.computeDisplayEventEnd=function (){ return true; }; EventRenderer.prototype.getBgClasses=function (eventDef){ var classNames=this.getClasses(eventDef); classNames.push('fc-bgevent'); return classNames; }; EventRenderer.prototype.getClasses=function (eventDef){ var objs=this.getStylingObjs(eventDef); var i; var classNames=[]; for (i=0; i < objs.length; i++){ classNames.push.apply(classNames, objs[i].eventClassName||objs[i].className||[]); } return classNames; }; EventRenderer.prototype.getSkinCss=function (eventDef){ return { 'background-color': this.getBgColor(eventDef), 'border-color': this.getBorderColor(eventDef), color: this.getTextColor(eventDef) };}; EventRenderer.prototype.getBgColor=function (eventDef){ var objs=this.getStylingObjs(eventDef); var i; var val; for (i=0; i < objs.length&&!val; i++){ val=objs[i].eventBackgroundColor||objs[i].eventColor || objs[i].backgroundColor||objs[i].color; } if(!val){ val=this.opt('eventBackgroundColor')||this.opt('eventColor'); } return val; }; EventRenderer.prototype.getBorderColor=function (eventDef){ var objs=this.getStylingObjs(eventDef); var i; var val; for (i=0; i < objs.length&&!val; i++){ val=objs[i].eventBorderColor||objs[i].eventColor || objs[i].borderColor||objs[i].color; } if(!val){ val=this.opt('eventBorderColor')||this.opt('eventColor'); } return val; }; EventRenderer.prototype.getTextColor=function (eventDef){ var objs=this.getStylingObjs(eventDef); var i; var val; for (i=0; i < objs.length&&!val; i++){ val=objs[i].eventTextColor || objs[i].textColor; } if(!val){ val=this.opt('eventTextColor'); } return val; }; EventRenderer.prototype.getStylingObjs=function (eventDef){ var objs=this.getFallbackStylingObjs(eventDef); objs.unshift(eventDef); return objs; }; EventRenderer.prototype.getFallbackStylingObjs=function (eventDef){ return [eventDef.source]; }; EventRenderer.prototype.sortEventSegs=function (segs){ segs.sort(util_1.proxy(this, 'compareEventSegs')); }; EventRenderer.prototype.compareEventSegs=function (seg1, seg2){ var f1=seg1.footprint; var f2=seg2.footprint; var cf1=f1.componentFootprint; var cf2=f2.componentFootprint; var r1=cf1.unzonedRange; var r2=cf2.unzonedRange; return r1.startMs - r2.startMs || (r2.endMs - r2.startMs) - (r1.endMs - r1.startMs) || cf2.isAllDay - cf1.isAllDay || util_1.compareByFieldSpecs(f1.eventDef, f2.eventDef, this.view.eventOrderSpecs, f1.eventDef.miscProps, f2.eventDef.miscProps); }; return EventRenderer; }()); exports.default=EventRenderer; }), , , , , (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment_ext_1=__webpack_require__(10); moment_ext_1.newMomentProto.format=function (){ if(this._fullCalendar&&arguments[0]){ return formatDate(this, arguments[0]); } if(this._ambigTime){ return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD'); } if(this._ambigZone){ return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD[T]HH:mm:ss'); } if(this._fullCalendar){ return moment_ext_1.oldMomentFormat(englishMoment(this)); } return moment_ext_1.oldMomentProto.format.apply(this, arguments); }; moment_ext_1.newMomentProto.toISOString=function (){ if(this._ambigTime){ return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD'); } if(this._ambigZone){ return moment_ext_1.oldMomentFormat(englishMoment(this), 'YYYY-MM-DD[T]HH:mm:ss'); } if(this._fullCalendar){ return moment_ext_1.oldMomentProto.toISOString.apply(englishMoment(this), arguments); } return moment_ext_1.oldMomentProto.toISOString.apply(this, arguments); }; function englishMoment(mom){ if(mom.locale()!=='en'){ return mom.clone().locale('en'); } return mom; } var PART_SEPARATOR='\u000b'; var SPECIAL_TOKEN_MARKER='\u001f'; var MAYBE_MARKER='\u001e'; var MAYBE_REGEXP=new RegExp(MAYBE_MARKER + '([^' + MAYBE_MARKER + ']*)' + MAYBE_MARKER, 'g'); var specialTokens={ t: function (date){ return moment_ext_1.oldMomentFormat(date, 'a').charAt(0); }, T: function (date){ return moment_ext_1.oldMomentFormat(date, 'A').charAt(0); }}; var largeTokenMap={ Y: { value: 1, unit: 'year' }, M: { value: 2, unit: 'month' }, W: { value: 3, unit: 'week' }, w: { value: 3, unit: 'week' }, D: { value: 4, unit: 'day' }, d: { value: 4, unit: 'day' }}; function formatDate(date, formatStr){ return renderFakeFormatString(getParsedFormatString(formatStr).fakeFormatString, date); } exports.formatDate=formatDate; function formatRange(date1, date2, formatStr, separator, isRTL){ var localeData; date1=moment_ext_1.default.parseZone(date1); date2=moment_ext_1.default.parseZone(date2); localeData=date1.localeData(); formatStr=localeData.longDateFormat(formatStr)||formatStr; return renderParsedFormat(getParsedFormatString(formatStr), date1, date2, separator||' - ', isRTL); } exports.formatRange=formatRange; function renderParsedFormat(parsedFormat, date1, date2, separator, isRTL){ var sameUnits=parsedFormat.sameUnits; var unzonedDate1=date1.clone().stripZone(); var unzonedDate2=date2.clone().stripZone(); // " var renderedParts1=renderFakeFormatStringParts(parsedFormat.fakeFormatString, date1); var renderedParts2=renderFakeFormatStringParts(parsedFormat.fakeFormatString, date2); var leftI; var leftStr=''; var rightI; var rightStr=''; var middleI; var middleStr1=''; var middleStr2=''; var middleStr=''; for (leftI=0; leftI < sameUnits.length&&(!sameUnits[leftI]||unzonedDate1.isSame(unzonedDate2, sameUnits[leftI])); leftI++){ leftStr +=renderedParts1[leftI]; } for (rightI=sameUnits.length - 1; rightI > leftI&&(!sameUnits[rightI]||unzonedDate1.isSame(unzonedDate2, sameUnits[rightI])); rightI--){ if(rightI - 1===leftI&&renderedParts1[rightI]==='.'){ break; } rightStr=renderedParts1[rightI] + rightStr; } for (middleI=leftI; middleI <=rightI; middleI++){ middleStr1 +=renderedParts1[middleI]; middleStr2 +=renderedParts2[middleI]; } if(middleStr1||middleStr2){ if(isRTL){ middleStr=middleStr2 + separator + middleStr1; }else{ middleStr=middleStr1 + separator + middleStr2; }} return processMaybeMarkers(leftStr + middleStr + rightStr); } var parsedFormatStrCache={}; function getParsedFormatString(formatStr){ return parsedFormatStrCache[formatStr] || (parsedFormatStrCache[formatStr]=parseFormatString(formatStr)); } function parseFormatString(formatStr){ var chunks=chunkFormatString(formatStr); return { fakeFormatString: buildFakeFormatString(chunks), sameUnits: buildSameUnits(chunks) };} function chunkFormatString(formatStr){ var chunks=[]; var match; var chunker=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g; while ((match=chunker.exec(formatStr))){ if(match[1]){ chunks.push.apply(chunks, splitStringLiteral(match[1])); } else if(match[2]){ chunks.push({ maybe: chunkFormatString(match[2]) }); } else if(match[3]){ chunks.push({ token: match[3] }); } else if(match[5]){ chunks.push.apply(chunks, splitStringLiteral(match[5])); }} return chunks; } function splitStringLiteral(s){ if(s==='. '){ return ['.', ' ']; }else{ return [s]; }} function buildFakeFormatString(chunks){ var parts=[]; var i; var chunk; for (i=0; i < chunks.length; i++){ chunk=chunks[i]; if(typeof chunk==='string'){ parts.push('[' + chunk + ']'); } else if(chunk.token){ if(chunk.token in specialTokens){ parts.push(SPECIAL_TOKEN_MARKER + '[' + chunk.token + ']' ); }else{ parts.push(chunk.token); }} else if(chunk.maybe){ parts.push(MAYBE_MARKER + buildFakeFormatString(chunk.maybe) + MAYBE_MARKER); }} return parts.join(PART_SEPARATOR); } function buildSameUnits(chunks){ var units=[]; var i; var chunk; var tokenInfo; for (i=0; i < chunks.length; i++){ chunk=chunks[i]; if(chunk.token){ tokenInfo=largeTokenMap[chunk.token.charAt(0)]; units.push(tokenInfo ? tokenInfo.unit:'second'); } else if(chunk.maybe){ units.push.apply(units, buildSameUnits(chunk.maybe)); }else{ units.push(null); }} return units; } function renderFakeFormatString(fakeFormatString, date){ return processMaybeMarkers(renderFakeFormatStringParts(fakeFormatString, date).join('')); } function renderFakeFormatStringParts(fakeFormatString, date){ var parts=[]; var fakeRender=moment_ext_1.oldMomentFormat(date, fakeFormatString); var fakeParts=fakeRender.split(PART_SEPARATOR); var i; var fakePart; for (i=0; i < fakeParts.length; i++){ fakePart=fakeParts[i]; if(fakePart.charAt(0)===SPECIAL_TOKEN_MARKER){ parts.push(specialTokens[fakePart.substring(1)](date)); }else{ parts.push(fakePart); }} return parts; } function processMaybeMarkers(s){ return s.replace(MAYBE_REGEXP, function (m0, m1){ if(m1.match(/[1-9]/)){ return m1; }else{ return ''; }}); } function queryMostGranularFormatUnit(formatStr){ var chunks=chunkFormatString(formatStr); var i; var chunk; var candidate; var best; for (i=0; i < chunks.length; i++){ chunk=chunks[i]; if(chunk.token){ candidate=largeTokenMap[chunk.token.charAt(0)]; if(candidate){ if(!best||candidate.value > best.value){ best=candidate; }} }} if(best){ return best.unit; } return null; } exports.queryMostGranularFormatUnit=queryMostGranularFormatUnit; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Class_1=__webpack_require__(33); var EmitterMixin_1=__webpack_require__(11); var ListenerMixin_1=__webpack_require__(7); var Model= (function (_super){ tslib_1.__extends(Model, _super); function Model(){ var _this=_super.call(this)||this; _this._watchers={}; _this._props={}; _this.applyGlobalWatchers(); _this.constructed(); return _this; } Model.watch=function (name){ var args=[]; for (var _i=1; _i < arguments.length; _i++){ args[_i - 1]=arguments[_i]; } if(!this.prototype.hasOwnProperty('_globalWatchArgs')){ this.prototype._globalWatchArgs=Object.create(this.prototype._globalWatchArgs); } this.prototype._globalWatchArgs[name]=args; }; Model.prototype.constructed=function (){ }; Model.prototype.applyGlobalWatchers=function (){ var map=this._globalWatchArgs; var name; for (name in map){ this.watch.apply(this, [name].concat(map[name])); }}; Model.prototype.has=function (name){ return name in this._props; }; Model.prototype.get=function (name){ if(name===undefined){ return this._props; } return this._props[name]; }; Model.prototype.set=function (name, val){ var newProps; if(typeof name==='string'){ newProps={}; newProps[name]=val===undefined ? null:val; }else{ newProps=name; } this.setProps(newProps); }; Model.prototype.reset=function (newProps){ var oldProps=this._props; var changeset={}; var name; for (name in oldProps){ changeset[name]=undefined; } for (name in newProps){ changeset[name]=newProps[name]; } this.setProps(changeset); }; Model.prototype.unset=function (name){ var newProps={}; var names; var i; if(typeof name==='string'){ names=[name]; }else{ names=name; } for (i=0; i < names.length; i++){ newProps[names[i]]=undefined; } this.setProps(newProps); }; Model.prototype.setProps=function (newProps){ var changedProps={}; var changedCnt=0; var name; var val; for (name in newProps){ val=newProps[name]; if(typeof val==='object' || val!==this._props[name]){ changedProps[name]=val; changedCnt++; }} if(changedCnt){ this.trigger('before:batchChange', changedProps); for (name in changedProps){ val=changedProps[name]; this.trigger('before:change', name, val); this.trigger('before:change:' + name, val); } for (name in changedProps){ val=changedProps[name]; if(val===undefined){ delete this._props[name]; }else{ this._props[name]=val; } this.trigger('change:' + name, val); this.trigger('change', name, val); } this.trigger('batchChange', changedProps); }}; Model.prototype.watch=function (name, depList, startFunc, stopFunc){ var _this=this; this.unwatch(name); this._watchers[name]=this._watchDeps(depList, function (deps){ var res=startFunc.call(_this, deps); if(res&&res.then){ _this.unset(name); res.then(function (val){ _this.set(name, val); }); }else{ _this.set(name, res); }}, function (deps){ _this.unset(name); if(stopFunc){ stopFunc.call(_this, deps); }}); }; Model.prototype.unwatch=function (name){ var watcher=this._watchers[name]; if(watcher){ delete this._watchers[name]; watcher.teardown(); }}; Model.prototype._watchDeps=function (depList, startFunc, stopFunc){ var _this=this; var queuedChangeCnt=0; var depCnt=depList.length; var satisfyCnt=0; var values={}; var bindTuples=[]; var isCallingStop=false; var onBeforeDepChange=function (depName, val, isOptional){ queuedChangeCnt++; if(queuedChangeCnt===1){ if(satisfyCnt===depCnt){ isCallingStop=true; stopFunc(values); isCallingStop=false; }} }; var onDepChange=function (depName, val, isOptional){ if(val===undefined){ if(!isOptional&&values[depName]!==undefined){ satisfyCnt--; } delete values[depName]; }else{ if(!isOptional&&values[depName]===undefined){ satisfyCnt++; } values[depName]=val; } queuedChangeCnt--; if(!queuedChangeCnt){ if(satisfyCnt===depCnt){ if(!isCallingStop){ startFunc(values); }} }}; var bind=function (eventName, handler){ _this.on(eventName, handler); bindTuples.push([eventName, handler]); }; depList.forEach(function (depName){ var isOptional=false; if(depName.charAt(0)==='?'){ depName=depName.substring(1); isOptional=true; } bind('before:change:' + depName, function (val){ onBeforeDepChange(depName, val, isOptional); }); bind('change:' + depName, function (val){ onDepChange(depName, val, isOptional); }); }); depList.forEach(function (depName){ var isOptional=false; if(depName.charAt(0)==='?'){ depName=depName.substring(1); isOptional=true; } if(_this.has(depName)){ values[depName]=_this.get(depName); satisfyCnt++; } else if(isOptional){ satisfyCnt++; }}); if(satisfyCnt===depCnt){ startFunc(values); } return { teardown: function (){ for (var i=0; i < bindTuples.length; i++){ _this.off(bindTuples[i][0], bindTuples[i][1]); } bindTuples=null; if(satisfyCnt===depCnt){ stopFunc(); }}, flash: function (){ if(satisfyCnt===depCnt){ stopFunc(); startFunc(values); }} };}; Model.prototype.flash=function (name){ var watcher=this._watchers[name]; if(watcher){ watcher.flash(); }}; return Model; }(Class_1.default)); exports.default=Model; Model.prototype._globalWatchArgs={}; EmitterMixin_1.default.mixInto(Model); ListenerMixin_1.default.mixInto(Model); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var SingleEventDef_1=__webpack_require__(13); var RecurringEventDef_1=__webpack_require__(210); exports.default={ parse: function (eventInput, source){ if(util_1.isTimeString(eventInput.start)||moment.isDuration(eventInput.start) || util_1.isTimeString(eventInput.end)||moment.isDuration(eventInput.end)){ return RecurringEventDef_1.default.parse(eventInput, source); }else{ return SingleEventDef_1.default.parse(eventInput, source); }} }; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var util_1=__webpack_require__(4); var EventDateProfile_1=__webpack_require__(17); var EventDefDateMutation= (function (){ function EventDefDateMutation(){ this.clearEnd=false; this.forceTimed=false; this.forceAllDay=false; } EventDefDateMutation.createFromDiff=function (dateProfile0, dateProfile1, largeUnit){ var clearEnd=dateProfile0.end&&!dateProfile1.end; var forceTimed=dateProfile0.isAllDay()&&!dateProfile1.isAllDay(); var forceAllDay = !dateProfile0.isAllDay()&&dateProfile1.isAllDay(); var dateDelta; var endDiff; var endDelta; var mutation; function subtractDates(date1, date0){ if(largeUnit){ return util_1.diffByUnit(date1, date0, largeUnit); } else if(dateProfile1.isAllDay()){ return util_1.diffDay(date1, date0); }else{ return util_1.diffDayTime(date1, date0); }} dateDelta=subtractDates(dateProfile1.start, dateProfile0.start); if(dateProfile1.end){ endDiff=subtractDates(dateProfile1.unzonedRange.getEnd(), dateProfile0.unzonedRange.getEnd()); endDelta=endDiff.subtract(dateDelta); } mutation=new EventDefDateMutation(); mutation.clearEnd=clearEnd; mutation.forceTimed=forceTimed; mutation.forceAllDay=forceAllDay; mutation.setDateDelta(dateDelta); mutation.setEndDelta(endDelta); return mutation; }; EventDefDateMutation.prototype.buildNewDateProfile=function (eventDateProfile, calendar){ var start=eventDateProfile.start.clone(); var end=null; var shouldRezone=false; if(eventDateProfile.end&&!this.clearEnd){ end=eventDateProfile.end.clone(); } else if(this.endDelta&&!end){ end=calendar.getDefaultEventEnd(eventDateProfile.isAllDay(), start); } if(this.forceTimed){ shouldRezone=true; if(!start.hasTime()){ start.time(0); } if(end&&!end.hasTime()){ end.time(0); }} else if(this.forceAllDay){ if(start.hasTime()){ start.stripTime(); } if(end&&end.hasTime()){ end.stripTime(); }} if(this.dateDelta){ shouldRezone=true; start.add(this.dateDelta); if(end){ end.add(this.dateDelta); }} if(this.endDelta){ shouldRezone=true; end.add(this.endDelta); } if(this.startDelta){ shouldRezone=true; start.add(this.startDelta); } if(shouldRezone){ start=calendar.applyTimezone(start); if(end){ end=calendar.applyTimezone(end); }} if(!end&&calendar.opt('forceEventDuration')){ end=calendar.getDefaultEventEnd(eventDateProfile.isAllDay(), start); } return new EventDateProfile_1.default(start, end, calendar); }; EventDefDateMutation.prototype.setDateDelta=function (dateDelta){ if(dateDelta&&dateDelta.valueOf()){ this.dateDelta=dateDelta; }else{ this.dateDelta=null; }}; EventDefDateMutation.prototype.setStartDelta=function (startDelta){ if(startDelta&&startDelta.valueOf()){ this.startDelta=startDelta; }else{ this.startDelta=null; }}; EventDefDateMutation.prototype.setEndDelta=function (endDelta){ if(endDelta&&endDelta.valueOf()){ this.endDelta=endDelta; }else{ this.endDelta=null; }}; EventDefDateMutation.prototype.isEmpty=function (){ return !this.clearEnd&&!this.forceTimed&&!this.forceAllDay && !this.dateDelta&&!this.startDelta&&!this.endDelta; }; return EventDefDateMutation; }()); exports.default=EventDefDateMutation; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var StandardTheme_1=__webpack_require__(213); var JqueryUiTheme_1=__webpack_require__(214); var themeClassHash={}; function defineThemeSystem(themeName, themeClass){ themeClassHash[themeName]=themeClass; } exports.defineThemeSystem=defineThemeSystem; function getThemeSystemClass(themeSetting){ if(!themeSetting){ return StandardTheme_1.default; } else if(themeSetting===true){ return JqueryUiTheme_1.default; }else{ return themeClassHash[themeSetting]; }} exports.getThemeSystemClass=getThemeSystemClass; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Promise_1=__webpack_require__(20); var EventSource_1=__webpack_require__(6); var SingleEventDef_1=__webpack_require__(13); var ArrayEventSource= (function (_super){ tslib_1.__extends(ArrayEventSource, _super); function ArrayEventSource(calendar){ var _this=_super.call(this, calendar)||this; _this.eventDefs=[]; return _this; } ArrayEventSource.parse=function (rawInput, calendar){ var rawProps; if($.isArray(rawInput.events)){ rawProps=rawInput; } else if($.isArray(rawInput)){ rawProps={ events: rawInput };} if(rawProps){ return EventSource_1.default.parse.call(this, rawProps, calendar); } return false; }; ArrayEventSource.prototype.setRawEventDefs=function (rawEventDefs){ this.rawEventDefs=rawEventDefs; this.eventDefs=this.parseEventDefs(rawEventDefs); }; ArrayEventSource.prototype.fetch=function (start, end, timezone){ var eventDefs=this.eventDefs; var i; if(this.currentTimezone!=null && this.currentTimezone!==timezone){ for (i=0; i < eventDefs.length; i++){ if(eventDefs[i] instanceof SingleEventDef_1.default){ eventDefs[i].rezone(); }} } this.currentTimezone=timezone; return Promise_1.default.resolve(eventDefs); }; ArrayEventSource.prototype.addEventDef=function (eventDef){ this.eventDefs.push(eventDef); }; ArrayEventSource.prototype.removeEventDefsById=function (eventDefId){ return util_1.removeMatching(this.eventDefs, function (eventDef){ return eventDef.id===eventDefId; }); }; ArrayEventSource.prototype.removeAllEventDefs=function (){ this.eventDefs=[]; }; ArrayEventSource.prototype.getPrimitive=function (){ return this.rawEventDefs; }; ArrayEventSource.prototype.applyManualStandardProps=function (rawProps){ var superSuccess=_super.prototype.applyManualStandardProps.call(this, rawProps); this.setRawEventDefs(rawProps.events); return superSuccess; }; return ArrayEventSource; }(EventSource_1.default)); exports.default=ArrayEventSource; ArrayEventSource.defineStandardProps({ events: false }); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var CoordCache= (function (){ function CoordCache(options){ this.isHorizontal=false; this.isVertical=false; this.els=$(options.els); this.isHorizontal=options.isHorizontal; this.isVertical=options.isVertical; this.forcedOffsetParentEl=options.offsetParent ? $(options.offsetParent):null; } CoordCache.prototype.build=function (){ var offsetParentEl=this.forcedOffsetParentEl; if(!offsetParentEl&&this.els.length > 0){ offsetParentEl=this.els.eq(0).offsetParent(); } this.origin=offsetParentEl ? offsetParentEl.offset() : null; this.boundingRect=this.queryBoundingRect(); if(this.isHorizontal){ this.buildElHorizontals(); } if(this.isVertical){ this.buildElVerticals(); }}; CoordCache.prototype.clear=function (){ this.origin=null; this.boundingRect=null; this.lefts=null; this.rights=null; this.tops=null; this.bottoms=null; }; CoordCache.prototype.ensureBuilt=function (){ if(!this.origin){ this.build(); }}; CoordCache.prototype.buildElHorizontals=function (){ var lefts=[]; var rights=[]; this.els.each(function (i, node){ var el=$(node); var left=el.offset().left; var width=el.outerWidth(); lefts.push(left); rights.push(left + width); }); this.lefts=lefts; this.rights=rights; }; CoordCache.prototype.buildElVerticals=function (){ var tops=[]; var bottoms=[]; this.els.each(function (i, node){ var el=$(node); var top=el.offset().top; var height=el.outerHeight(); tops.push(top); bottoms.push(top + height); }); this.tops=tops; this.bottoms=bottoms; }; CoordCache.prototype.getHorizontalIndex=function (leftOffset){ this.ensureBuilt(); var lefts=this.lefts; var rights=this.rights; var len=lefts.length; var i; for (i=0; i < len; i++){ if(leftOffset >=lefts[i]&&leftOffset < rights[i]){ return i; }} }; CoordCache.prototype.getVerticalIndex=function (topOffset){ this.ensureBuilt(); var tops=this.tops; var bottoms=this.bottoms; var len=tops.length; var i; for (i=0; i < len; i++){ if(topOffset >=tops[i]&&topOffset < bottoms[i]){ return i; }} }; CoordCache.prototype.getLeftOffset=function (leftIndex){ this.ensureBuilt(); return this.lefts[leftIndex]; }; CoordCache.prototype.getLeftPosition=function (leftIndex){ this.ensureBuilt(); return this.lefts[leftIndex] - this.origin.left; }; CoordCache.prototype.getRightOffset=function (leftIndex){ this.ensureBuilt(); return this.rights[leftIndex]; }; CoordCache.prototype.getRightPosition=function (leftIndex){ this.ensureBuilt(); return this.rights[leftIndex] - this.origin.left; }; CoordCache.prototype.getWidth=function (leftIndex){ this.ensureBuilt(); return this.rights[leftIndex] - this.lefts[leftIndex]; }; CoordCache.prototype.getTopOffset=function (topIndex){ this.ensureBuilt(); return this.tops[topIndex]; }; CoordCache.prototype.getTopPosition=function (topIndex){ this.ensureBuilt(); return this.tops[topIndex] - this.origin.top; }; CoordCache.prototype.getBottomOffset=function (topIndex){ this.ensureBuilt(); return this.bottoms[topIndex]; }; CoordCache.prototype.getBottomPosition=function (topIndex){ this.ensureBuilt(); return this.bottoms[topIndex] - this.origin.top; }; CoordCache.prototype.getHeight=function (topIndex){ this.ensureBuilt(); return this.bottoms[topIndex] - this.tops[topIndex]; }; CoordCache.prototype.queryBoundingRect=function (){ var scrollParentEl; if(this.els.length > 0){ scrollParentEl=util_1.getScrollParent(this.els.eq(0)); if(!scrollParentEl.is(document)){ return util_1.getClientRect(scrollParentEl); }} return null; }; CoordCache.prototype.isPointInBounds=function (leftOffset, topOffset){ return this.isLeftInBounds(leftOffset)&&this.isTopInBounds(topOffset); }; CoordCache.prototype.isLeftInBounds=function (leftOffset){ return !this.boundingRect||(leftOffset >=this.boundingRect.left&&leftOffset < this.boundingRect.right); }; CoordCache.prototype.isTopInBounds=function (topOffset){ return !this.boundingRect||(topOffset >=this.boundingRect.top&&topOffset < this.boundingRect.bottom); }; return CoordCache; }()); exports.default=CoordCache; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var ListenerMixin_1=__webpack_require__(7); var GlobalEmitter_1=__webpack_require__(21); var DragListener= (function (){ function DragListener(options){ this.isInteracting=false; this.isDistanceSurpassed=false; this.isDelayEnded=false; this.isDragging=false; this.isTouch=false; this.isGeneric=false; this.shouldCancelTouchScroll=true; this.scrollAlwaysKills=false; this.isAutoScroll=false; this.scrollSensitivity=30; this.scrollSpeed=200; this.scrollIntervalMs=50; this.options=options||{};} DragListener.prototype.startInteraction=function (ev, extraOptions){ if(extraOptions===void 0){ extraOptions={};} if(ev.type==='mousedown'){ if(GlobalEmitter_1.default.get().shouldIgnoreMouse()){ return; } else if(!util_1.isPrimaryMouseButton(ev)){ return; }else{ ev.preventDefault(); }} if(!this.isInteracting){ this.delay=util_1.firstDefined(extraOptions.delay, this.options.delay, 0); this.minDistance=util_1.firstDefined(extraOptions.distance, this.options.distance, 0); this.subjectEl=this.options.subjectEl; util_1.preventSelection($('body')); this.isInteracting=true; this.isTouch=util_1.getEvIsTouch(ev); this.isGeneric=ev.type==='dragstart'; this.isDelayEnded=false; this.isDistanceSurpassed=false; this.originX=util_1.getEvX(ev); this.originY=util_1.getEvY(ev); this.scrollEl=util_1.getScrollParent($(ev.target)); this.bindHandlers(); this.initAutoScroll(); this.handleInteractionStart(ev); this.startDelay(ev); if(!this.minDistance){ this.handleDistanceSurpassed(ev); }} }; DragListener.prototype.handleInteractionStart=function (ev){ this.trigger('interactionStart', ev); }; DragListener.prototype.endInteraction=function (ev, isCancelled){ if(this.isInteracting){ this.endDrag(ev); if(this.delayTimeoutId){ clearTimeout(this.delayTimeoutId); this.delayTimeoutId=null; } this.destroyAutoScroll(); this.unbindHandlers(); this.isInteracting=false; this.handleInteractionEnd(ev, isCancelled); util_1.allowSelection($('body')); }}; DragListener.prototype.handleInteractionEnd=function (ev, isCancelled){ this.trigger('interactionEnd', ev, isCancelled||false); }; DragListener.prototype.bindHandlers=function (){ var globalEmitter=GlobalEmitter_1.default.get(); if(this.isGeneric){ this.listenTo($(document), { drag: this.handleMove, dragstop: this.endInteraction }); } else if(this.isTouch){ this.listenTo(globalEmitter, { touchmove: this.handleTouchMove, touchend: this.endInteraction, scroll: this.handleTouchScroll }); }else{ this.listenTo(globalEmitter, { mousemove: this.handleMouseMove, mouseup: this.endInteraction }); } this.listenTo(globalEmitter, { selectstart: util_1.preventDefault, contextmenu: util_1.preventDefault }); }; DragListener.prototype.unbindHandlers=function (){ this.stopListeningTo(GlobalEmitter_1.default.get()); this.stopListeningTo($(document)); }; DragListener.prototype.startDrag=function (ev, extraOptions){ this.startInteraction(ev, extraOptions); if(!this.isDragging){ this.isDragging=true; this.handleDragStart(ev); }}; DragListener.prototype.handleDragStart=function (ev){ this.trigger('dragStart', ev); }; DragListener.prototype.handleMove=function (ev){ var dx=util_1.getEvX(ev) - this.originX; var dy=util_1.getEvY(ev) - this.originY; var minDistance=this.minDistance; var distanceSq; if(!this.isDistanceSurpassed){ distanceSq=dx * dx + dy * dy; if(distanceSq >=minDistance * minDistance){ this.handleDistanceSurpassed(ev); }} if(this.isDragging){ this.handleDrag(dx, dy, ev); }}; DragListener.prototype.handleDrag=function (dx, dy, ev){ this.trigger('drag', dx, dy, ev); this.updateAutoScroll(ev); }; DragListener.prototype.endDrag=function (ev){ if(this.isDragging){ this.isDragging=false; this.handleDragEnd(ev); }}; DragListener.prototype.handleDragEnd=function (ev){ this.trigger('dragEnd', ev); }; DragListener.prototype.startDelay=function (initialEv){ var _this=this; if(this.delay){ this.delayTimeoutId=setTimeout(function (){ _this.handleDelayEnd(initialEv); }, this.delay); }else{ this.handleDelayEnd(initialEv); }}; DragListener.prototype.handleDelayEnd=function (initialEv){ this.isDelayEnded=true; if(this.isDistanceSurpassed){ this.startDrag(initialEv); }}; DragListener.prototype.handleDistanceSurpassed=function (ev){ this.isDistanceSurpassed=true; if(this.isDelayEnded){ this.startDrag(ev); }}; DragListener.prototype.handleTouchMove=function (ev){ if(this.isDragging&&this.shouldCancelTouchScroll){ ev.preventDefault(); } this.handleMove(ev); }; DragListener.prototype.handleMouseMove=function (ev){ this.handleMove(ev); }; DragListener.prototype.handleTouchScroll=function (ev){ if(!this.isDragging||this.scrollAlwaysKills){ this.endInteraction(ev, true); }}; DragListener.prototype.trigger=function (name){ var args=[]; for (var _i=1; _i < arguments.length; _i++){ args[_i - 1]=arguments[_i]; } if(this.options[name]){ this.options[name].apply(this, args); } if(this['_' + name]){ this['_' + name].apply(this, args); }}; DragListener.prototype.initAutoScroll=function (){ var scrollEl=this.scrollEl; this.isAutoScroll = this.options.scroll && scrollEl && !scrollEl.is(window) && !scrollEl.is(document); if(this.isAutoScroll){ this.listenTo(scrollEl, 'scroll', util_1.debounce(this.handleDebouncedScroll, 100)); }}; DragListener.prototype.destroyAutoScroll=function (){ this.endAutoScroll(); if(this.isAutoScroll){ this.stopListeningTo(this.scrollEl, 'scroll'); }}; DragListener.prototype.computeScrollBounds=function (){ if(this.isAutoScroll){ this.scrollBounds=util_1.getOuterRect(this.scrollEl); }}; DragListener.prototype.updateAutoScroll=function (ev){ var sensitivity=this.scrollSensitivity; var bounds=this.scrollBounds; var topCloseness; var bottomCloseness; var leftCloseness; var rightCloseness; var topVel=0; var leftVel=0; if(bounds){ topCloseness=(sensitivity - (util_1.getEvY(ev) - bounds.top)) / sensitivity; bottomCloseness=(sensitivity - (bounds.bottom - util_1.getEvY(ev))) / sensitivity; leftCloseness=(sensitivity - (util_1.getEvX(ev) - bounds.left)) / sensitivity; rightCloseness=(sensitivity - (bounds.right - util_1.getEvX(ev))) / sensitivity; if(topCloseness >=0&&topCloseness <=1){ topVel=topCloseness * this.scrollSpeed * -1; } else if(bottomCloseness >=0&&bottomCloseness <=1){ topVel=bottomCloseness * this.scrollSpeed; } if(leftCloseness >=0&&leftCloseness <=1){ leftVel=leftCloseness * this.scrollSpeed * -1; } else if(rightCloseness >=0&&rightCloseness <=1){ leftVel=rightCloseness * this.scrollSpeed; }} this.setScrollVel(topVel, leftVel); }; DragListener.prototype.setScrollVel=function (topVel, leftVel){ this.scrollTopVel=topVel; this.scrollLeftVel=leftVel; this.constrainScrollVel(); if((this.scrollTopVel||this.scrollLeftVel)&&!this.scrollIntervalId){ this.scrollIntervalId=setInterval(util_1.proxy(this, 'scrollIntervalFunc'), this.scrollIntervalMs); }}; DragListener.prototype.constrainScrollVel=function (){ var el=this.scrollEl; if(this.scrollTopVel < 0){ if(el.scrollTop() <=0){ this.scrollTopVel=0; }} else if(this.scrollTopVel > 0){ if(el.scrollTop() + el[0].clientHeight >=el[0].scrollHeight){ this.scrollTopVel=0; }} if(this.scrollLeftVel < 0){ if(el.scrollLeft() <=0){ this.scrollLeftVel=0; }} else if(this.scrollLeftVel > 0){ if(el.scrollLeft() + el[0].clientWidth >=el[0].scrollWidth){ this.scrollLeftVel=0; }} }; DragListener.prototype.scrollIntervalFunc=function (){ var el=this.scrollEl; var frac=this.scrollIntervalMs / 1000; if(this.scrollTopVel){ el.scrollTop(el.scrollTop() + this.scrollTopVel * frac); } if(this.scrollLeftVel){ el.scrollLeft(el.scrollLeft() + this.scrollLeftVel * frac); } this.constrainScrollVel(); if(!this.scrollTopVel&&!this.scrollLeftVel){ this.endAutoScroll(); }}; DragListener.prototype.endAutoScroll=function (){ if(this.scrollIntervalId){ clearInterval(this.scrollIntervalId); this.scrollIntervalId=null; this.handleScrollEnd(); }}; DragListener.prototype.handleDebouncedScroll=function (){ if(!this.scrollIntervalId){ this.handleScrollEnd(); }}; DragListener.prototype.handleScrollEnd=function (){ }; return DragListener; }()); exports.default=DragListener; ListenerMixin_1.default.mixInto(DragListener); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var Mixin_1=__webpack_require__(14); var DayTableMixin= (function (_super){ tslib_1.__extends(DayTableMixin, _super); function DayTableMixin(){ return _super!==null&&_super.apply(this, arguments)||this; } DayTableMixin.prototype.updateDayTable=function (){ var t=this; var view=t.view; var calendar=view.calendar; var date=calendar.msToUtcMoment(t.dateProfile.renderUnzonedRange.startMs, true); var end=calendar.msToUtcMoment(t.dateProfile.renderUnzonedRange.endMs, true); var dayIndex=-1; var dayIndices=[]; var dayDates=[]; var daysPerRow; var firstDay; var rowCnt; while (date.isBefore(end)){ if(view.isHiddenDay(date)){ dayIndices.push(dayIndex + 0.5); }else{ dayIndex++; dayIndices.push(dayIndex); dayDates.push(date.clone()); } date.add(1, 'days'); } if(this.breakOnWeeks){ firstDay=dayDates[0].day(); for (daysPerRow=1; daysPerRow < dayDates.length; daysPerRow++){ if(dayDates[daysPerRow].day()===firstDay){ break; }} rowCnt=Math.ceil(dayDates.length / daysPerRow); }else{ rowCnt=1; daysPerRow=dayDates.length; } this.dayDates=dayDates; this.dayIndices=dayIndices; this.daysPerRow=daysPerRow; this.rowCnt=rowCnt; this.updateDayTableCols(); }; DayTableMixin.prototype.updateDayTableCols=function (){ this.colCnt=this.computeColCnt(); this.colHeadFormat = this.opt('columnHeaderFormat') || this.opt('columnFormat') || this.computeColHeadFormat(); }; DayTableMixin.prototype.computeColCnt=function (){ return this.daysPerRow; }; DayTableMixin.prototype.getCellDate=function (row, col){ return this.dayDates[this.getCellDayIndex(row, col)].clone(); }; DayTableMixin.prototype.getCellRange=function (row, col){ var start=this.getCellDate(row, col); var end=start.clone().add(1, 'days'); return { start: start, end: end };}; DayTableMixin.prototype.getCellDayIndex=function (row, col){ return row * this.daysPerRow + this.getColDayIndex(col); }; DayTableMixin.prototype.getColDayIndex=function (col){ if(this.isRTL){ return this.colCnt - 1 - col; }else{ return col; }}; DayTableMixin.prototype.getDateDayIndex=function (date){ var dayIndices=this.dayIndices; var dayOffset=date.diff(this.dayDates[0], 'days'); if(dayOffset < 0){ return dayIndices[0] - 1; } else if(dayOffset >=dayIndices.length){ return dayIndices[dayIndices.length - 1] + 1; }else{ return dayIndices[dayOffset]; }}; DayTableMixin.prototype.computeColHeadFormat=function (){ if(this.rowCnt > 1||this.colCnt > 10){ return 'ddd'; // "Sat" } else if(this.colCnt > 1){ return this.opt('dayOfMonthFormat'); // "Sat 12/10" }else{ return 'dddd'; // "Saturday" }}; DayTableMixin.prototype.sliceRangeByRow=function (unzonedRange){ var daysPerRow=this.daysPerRow; var normalRange=this.view.computeDayRange(unzonedRange); var rangeFirst=this.getDateDayIndex(normalRange.start); var rangeLast=this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); var segs=[]; var row; var rowFirst; var rowLast; var segFirst; var segLast; for (row=0; row < this.rowCnt; row++){ rowFirst=row * daysPerRow; rowLast=rowFirst + daysPerRow - 1; segFirst=Math.max(rangeFirst, rowFirst); segLast=Math.min(rangeLast, rowLast); segFirst=Math.ceil(segFirst); segLast=Math.floor(segLast); if(segFirst <=segLast){ segs.push({ row: row, firstRowDayIndex: segFirst - rowFirst, lastRowDayIndex: segLast - rowFirst, isStart: segFirst===rangeFirst, isEnd: segLast===rangeLast }); }} return segs; }; DayTableMixin.prototype.sliceRangeByDay=function (unzonedRange){ var daysPerRow=this.daysPerRow; var normalRange=this.view.computeDayRange(unzonedRange); var rangeFirst=this.getDateDayIndex(normalRange.start); var rangeLast=this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); var segs=[]; var row; var rowFirst; var rowLast; var i; var segFirst; var segLast; for (row=0; row < this.rowCnt; row++){ rowFirst=row * daysPerRow; rowLast=rowFirst + daysPerRow - 1; for (i=rowFirst; i <=rowLast; i++){ segFirst=Math.max(rangeFirst, i); segLast=Math.min(rangeLast, i); segFirst=Math.ceil(segFirst); segLast=Math.floor(segLast); if(segFirst <=segLast){ segs.push({ row: row, firstRowDayIndex: segFirst - rowFirst, lastRowDayIndex: segLast - rowFirst, isStart: segFirst===rangeFirst, isEnd: segLast===rangeLast }); }} } return segs; }; DayTableMixin.prototype.renderHeadHtml=function (){ var theme=this.view.calendar.theme; return '' + '
    ' + '' + '' + this.renderHeadTrHtml() + '' + '
    ' + '
    '; }; DayTableMixin.prototype.renderHeadIntroHtml=function (){ return this.renderIntroHtml(); }; DayTableMixin.prototype.renderHeadTrHtml=function (){ return '' + '' + (this.isRTL ? '':this.renderHeadIntroHtml()) + this.renderHeadDateCellsHtml() + (this.isRTL ? this.renderHeadIntroHtml():'') + ''; }; DayTableMixin.prototype.renderHeadDateCellsHtml=function (){ var htmls=[]; var col; var date; for (col=0; col < this.colCnt; col++){ date=this.getCellDate(0, col); htmls.push(this.renderHeadDateCellHtml(date)); } return htmls.join(''); }; DayTableMixin.prototype.renderHeadDateCellHtml=function (date, colspan, otherAttrs){ var t=this; var view=t.view; var isDateValid=t.dateProfile.activeUnzonedRange.containsDate(date); var classNames=[ 'fc-day-header', view.calendar.theme.getClass('widgetHeader') ]; var innerHtml; if(typeof t.opt('columnHeaderHtml')==='function'){ innerHtml=t.opt('columnHeaderHtml')(date); } else if(typeof t.opt('columnHeaderText')==='function'){ innerHtml=util_1.htmlEscape(t.opt('columnHeaderText')(date)); }else{ innerHtml=util_1.htmlEscape(date.format(t.colHeadFormat)); } if(t.rowCnt===1){ classNames=classNames.concat(t.getDayClasses(date, true)); }else{ classNames.push('fc-' + util_1.dayIDs[date.day()]); } return '' + ' 1 ? ' colspan="' + colspan + '"' : '') + (otherAttrs ? ' ' + otherAttrs : '') + '>' + (isDateValid ? view.buildGotoAnchorHtml({ date: date, forceOff: t.rowCnt > 1||t.colCnt===1 }, innerHtml) : innerHtml) + ''; }; DayTableMixin.prototype.renderBgTrHtml=function (row){ return '' + '' + (this.isRTL ? '':this.renderBgIntroHtml(row)) + this.renderBgCellsHtml(row) + (this.isRTL ? this.renderBgIntroHtml(row):'') + ''; }; DayTableMixin.prototype.renderBgIntroHtml=function (row){ return this.renderIntroHtml(); }; DayTableMixin.prototype.renderBgCellsHtml=function (row){ var htmls=[]; var col; var date; for (col=0; col < this.colCnt; col++){ date=this.getCellDate(row, col); htmls.push(this.renderBgCellHtml(date)); } return htmls.join(''); }; DayTableMixin.prototype.renderBgCellHtml=function (date, otherAttrs){ var t=this; var view=t.view; var isDateValid=t.dateProfile.activeUnzonedRange.containsDate(date); var classes=t.getDayClasses(date); classes.unshift('fc-day', view.calendar.theme.getClass('widgetContent')); return ''; }; DayTableMixin.prototype.renderIntroHtml=function (){ }; DayTableMixin.prototype.bookendCells=function (trEl){ var introHtml=this.renderIntroHtml(); if(introHtml){ if(this.isRTL){ trEl.append(introHtml); }else{ trEl.prepend(introHtml); }} }; return DayTableMixin; }(Mixin_1.default)); exports.default=DayTableMixin; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var BusinessHourRenderer= (function (){ function BusinessHourRenderer(component, fillRenderer){ this.component=component; this.fillRenderer=fillRenderer; } BusinessHourRenderer.prototype.render=function (businessHourGenerator){ var component=this.component; var unzonedRange=component._getDateProfile().activeUnzonedRange; var eventInstanceGroup=businessHourGenerator.buildEventInstanceGroup(component.hasAllDayBusinessHours, unzonedRange); var eventFootprints=eventInstanceGroup ? component.eventRangesToEventFootprints(eventInstanceGroup.sliceRenderRanges(unzonedRange)) : []; this.renderEventFootprints(eventFootprints); }; BusinessHourRenderer.prototype.renderEventFootprints=function (eventFootprints){ var segs=this.component.eventFootprintsToSegs(eventFootprints); this.renderSegs(segs); this.segs=segs; }; BusinessHourRenderer.prototype.renderSegs=function (segs){ if(this.fillRenderer){ this.fillRenderer.renderSegs('businessHours', segs, { getClasses: function (seg){ return ['fc-nonbusiness', 'fc-bgevent']; }}); }}; BusinessHourRenderer.prototype.unrender=function (){ if(this.fillRenderer){ this.fillRenderer.unrender('businessHours'); } this.segs=null; }; BusinessHourRenderer.prototype.getSegs=function (){ return this.segs||[]; }; return BusinessHourRenderer; }()); exports.default=BusinessHourRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var FillRenderer= (function (){ function FillRenderer(component){ this.fillSegTag='div'; this.component=component; this.elsByFill={};} FillRenderer.prototype.renderFootprint=function (type, componentFootprint, props){ this.renderSegs(type, this.component.componentFootprintToSegs(componentFootprint), props); }; FillRenderer.prototype.renderSegs=function (type, segs, props){ var els; segs=this.buildSegEls(type, segs, props); els=this.attachSegEls(type, segs); if(els){ this.reportEls(type, els); } return segs; }; FillRenderer.prototype.unrender=function (type){ var el=this.elsByFill[type]; if(el){ el.remove(); delete this.elsByFill[type]; }}; FillRenderer.prototype.buildSegEls=function (type, segs, props){ var _this=this; var html=''; var renderedSegs=[]; var i; if(segs.length){ for (i=0; i < segs.length; i++){ html +=this.buildSegHtml(type, segs[i], props); } $(html).each(function (i, node){ var seg=segs[i]; var el=$(node); if(props.filterEl){ el=props.filterEl(seg, el); } if(el){ el=$(el); if(el.is(_this.fillSegTag)){ seg.el=el; renderedSegs.push(seg); }} }); } return renderedSegs; }; FillRenderer.prototype.buildSegHtml=function (type, seg, props){ var classes=props.getClasses ? props.getClasses(seg):[]; var css=util_1.cssToStr(props.getCss ? props.getCss(seg):{}); return '<' + this.fillSegTag + (classes.length ? ' class="' + classes.join(' ') + '"':'') + (css ? ' style="' + css + '"':'') + ' />'; }; FillRenderer.prototype.attachSegEls=function (type, segs){ }; FillRenderer.prototype.reportEls=function (type, nodes){ if(this.elsByFill[type]){ this.elsByFill[type]=this.elsByFill[type].add(nodes); }else{ this.elsByFill[type]=$(nodes); }}; return FillRenderer; }()); exports.default=FillRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var SingleEventDef_1=__webpack_require__(13); var EventFootprint_1=__webpack_require__(36); var EventSource_1=__webpack_require__(6); var HelperRenderer= (function (){ function HelperRenderer(component, eventRenderer){ this.view=component._getView(); this.component=component; this.eventRenderer=eventRenderer; } HelperRenderer.prototype.renderComponentFootprint=function (componentFootprint){ this.renderEventFootprints([ this.fabricateEventFootprint(componentFootprint) ]); }; HelperRenderer.prototype.renderEventDraggingFootprints=function (eventFootprints, sourceSeg, isTouch){ this.renderEventFootprints(eventFootprints, sourceSeg, 'fc-dragging', isTouch ? null:this.view.opt('dragOpacity')); }; HelperRenderer.prototype.renderEventResizingFootprints=function (eventFootprints, sourceSeg, isTouch){ this.renderEventFootprints(eventFootprints, sourceSeg, 'fc-resizing'); }; HelperRenderer.prototype.renderEventFootprints=function (eventFootprints, sourceSeg, extraClassNames, opacity){ var segs=this.component.eventFootprintsToSegs(eventFootprints); var classNames='fc-helper ' + (extraClassNames||''); var i; segs=this.eventRenderer.renderFgSegEls(segs); for (i=0; i < segs.length; i++){ segs[i].el.addClass(classNames); } if(opacity!=null){ for (i=0; i < segs.length; i++){ segs[i].el.css('opacity', opacity); }} this.helperEls=this.renderSegs(segs, sourceSeg); }; HelperRenderer.prototype.renderSegs=function (segs, sourceSeg){ }; HelperRenderer.prototype.unrender=function (){ if(this.helperEls){ this.helperEls.remove(); this.helperEls=null; }}; HelperRenderer.prototype.fabricateEventFootprint=function (componentFootprint){ var calendar=this.view.calendar; var eventDateProfile=calendar.footprintToDateProfile(componentFootprint); var dummyEvent=new SingleEventDef_1.default(new EventSource_1.default(calendar)); var dummyInstance; dummyEvent.dateProfile=eventDateProfile; dummyInstance=dummyEvent.buildInstance(); return new EventFootprint_1.default(componentFootprint, dummyEvent, dummyInstance); }; return HelperRenderer; }()); exports.default=HelperRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var GlobalEmitter_1=__webpack_require__(21); var Interaction_1=__webpack_require__(15); var EventPointing= (function (_super){ tslib_1.__extends(EventPointing, _super); function EventPointing(){ return _super!==null&&_super.apply(this, arguments)||this; } EventPointing.prototype.bindToEl=function (el){ var component=this.component; component.bindSegHandlerToEl(el, 'click', this.handleClick.bind(this)); component.bindSegHandlerToEl(el, 'mouseenter', this.handleMouseover.bind(this)); component.bindSegHandlerToEl(el, 'mouseleave', this.handleMouseout.bind(this)); }; EventPointing.prototype.handleClick=function (seg, ev){ var res=this.component.publiclyTrigger('eventClick', { context: seg.el[0], args: [seg.footprint.getEventLegacy(), ev, this.view] }); if(res===false){ ev.preventDefault(); }}; EventPointing.prototype.handleMouseover=function (seg, ev){ if(!GlobalEmitter_1.default.get().shouldIgnoreMouse() && !this.mousedOverSeg){ this.mousedOverSeg=seg; if(this.view.isEventDefResizable(seg.footprint.eventDef)){ seg.el.addClass('fc-allow-mouse-resize'); } this.component.publiclyTrigger('eventMouseover', { context: seg.el[0], args: [seg.footprint.getEventLegacy(), ev, this.view] }); }}; EventPointing.prototype.handleMouseout=function (seg, ev){ if(this.mousedOverSeg){ this.mousedOverSeg=null; if(this.view.isEventDefResizable(seg.footprint.eventDef)){ seg.el.removeClass('fc-allow-mouse-resize'); } this.component.publiclyTrigger('eventMouseout', { context: seg.el[0], args: [ seg.footprint.getEventLegacy(), ev||{}, this.view ] }); }}; EventPointing.prototype.end=function (){ if(this.mousedOverSeg){ this.handleMouseout(this.mousedOverSeg); }}; return EventPointing; }(Interaction_1.default)); exports.default=EventPointing; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Mixin_1=__webpack_require__(14); var DateClicking_1=__webpack_require__(245); var DateSelecting_1=__webpack_require__(225); var EventPointing_1=__webpack_require__(59); var EventDragging_1=__webpack_require__(224); var EventResizing_1=__webpack_require__(223); var ExternalDropping_1=__webpack_require__(222); var StandardInteractionsMixin= (function (_super){ tslib_1.__extends(StandardInteractionsMixin, _super); function StandardInteractionsMixin(){ return _super!==null&&_super.apply(this, arguments)||this; } return StandardInteractionsMixin; }(Mixin_1.default)); exports.default=StandardInteractionsMixin; StandardInteractionsMixin.prototype.dateClickingClass=DateClicking_1.default; StandardInteractionsMixin.prototype.dateSelectingClass=DateSelecting_1.default; StandardInteractionsMixin.prototype.eventPointingClass=EventPointing_1.default; StandardInteractionsMixin.prototype.eventDraggingClass=EventDragging_1.default; StandardInteractionsMixin.prototype.eventResizingClass=EventResizing_1.default; StandardInteractionsMixin.prototype.externalDroppingClass=ExternalDropping_1.default; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var CoordCache_1=__webpack_require__(53); var Popover_1=__webpack_require__(249); var UnzonedRange_1=__webpack_require__(5); var ComponentFootprint_1=__webpack_require__(12); var EventFootprint_1=__webpack_require__(36); var BusinessHourRenderer_1=__webpack_require__(56); var StandardInteractionsMixin_1=__webpack_require__(60); var InteractiveDateComponent_1=__webpack_require__(40); var DayTableMixin_1=__webpack_require__(55); var DayGridEventRenderer_1=__webpack_require__(250); var DayGridHelperRenderer_1=__webpack_require__(251); var DayGridFillRenderer_1=__webpack_require__(252); var DayGrid= (function (_super){ tslib_1.__extends(DayGrid, _super); function DayGrid(view){ var _this=_super.call(this, view)||this; _this.cellWeekNumbersVisible=false; _this.bottomCoordPadding=0; _this.isRigid=false; _this.hasAllDayBusinessHours=true; return _this; } DayGrid.prototype.componentFootprintToSegs=function (componentFootprint){ var segs=this.sliceRangeByRow(componentFootprint.unzonedRange); var i; var seg; for (i=0; i < segs.length; i++){ seg=segs[i]; if(this.isRTL){ seg.leftCol=this.daysPerRow - 1 - seg.lastRowDayIndex; seg.rightCol=this.daysPerRow - 1 - seg.firstRowDayIndex; }else{ seg.leftCol=seg.firstRowDayIndex; seg.rightCol=seg.lastRowDayIndex; }} return segs; }; DayGrid.prototype.renderDates=function (dateProfile){ this.dateProfile=dateProfile; this.updateDayTable(); this.renderGrid(); }; DayGrid.prototype.unrenderDates=function (){ this.removeSegPopover(); }; DayGrid.prototype.renderGrid=function (){ var view=this.view; var rowCnt=this.rowCnt; var colCnt=this.colCnt; var html=''; var row; var col; if(this.headContainerEl){ this.headContainerEl.html(this.renderHeadHtml()); } for (row=0; row < rowCnt; row++){ html +=this.renderDayRowHtml(row, this.isRigid); } this.el.html(html); this.rowEls=this.el.find('.fc-row'); this.cellEls=this.el.find('.fc-day, .fc-disabled-day'); this.rowCoordCache=new CoordCache_1.default({ els: this.rowEls, isVertical: true }); this.colCoordCache=new CoordCache_1.default({ els: this.cellEls.slice(0, this.colCnt), isHorizontal: true }); for (row=0; row < rowCnt; row++){ for (col=0; col < colCnt; col++){ this.publiclyTrigger('dayRender', { context: view, args: [ this.getCellDate(row, col), this.getCellEl(row, col), view ] }); }} }; DayGrid.prototype.renderDayRowHtml=function (row, isRigid){ var theme=this.view.calendar.theme; var classes=['fc-row', 'fc-week', theme.getClass('dayRow')]; if(isRigid){ classes.push('fc-rigid'); } return '' + '
    ' + '
    ' + '' + this.renderBgTrHtml(row) + '
    ' + '
    ' + '
    ' + '' + (this.getIsNumbersVisible() ? '' + this.renderNumberTrHtml(row) + '' : '') + '
    ' + '
    ' + '
    '; }; DayGrid.prototype.getIsNumbersVisible=function (){ return this.getIsDayNumbersVisible()||this.cellWeekNumbersVisible; }; DayGrid.prototype.getIsDayNumbersVisible=function (){ return this.rowCnt > 1; }; DayGrid.prototype.renderNumberTrHtml=function (row){ return '' + '' + (this.isRTL ? '':this.renderNumberIntroHtml(row)) + this.renderNumberCellsHtml(row) + (this.isRTL ? this.renderNumberIntroHtml(row):'') + ''; }; DayGrid.prototype.renderNumberIntroHtml=function (row){ return this.renderIntroHtml(); }; DayGrid.prototype.renderNumberCellsHtml=function (row){ var htmls=[]; var col; var date; for (col=0; col < this.colCnt; col++){ date=this.getCellDate(row, col); htmls.push(this.renderNumberCellHtml(date)); } return htmls.join(''); }; DayGrid.prototype.renderNumberCellHtml=function (date){ var view=this.view; var html=''; var isDateValid=this.dateProfile.activeUnzonedRange.containsDate(date); var isDayNumberVisible=this.getIsDayNumbersVisible()&&isDateValid; var classes; var weekCalcFirstDoW; if(!isDayNumberVisible&&!this.cellWeekNumbersVisible){ return ''; } classes=this.getDayClasses(date); classes.unshift('fc-day-top'); if(this.cellWeekNumbersVisible){ if(date._locale._fullCalendar_weekCalc==='ISO'){ weekCalcFirstDoW=1; }else{ weekCalcFirstDoW=date._locale.firstDayOfWeek(); }} html +=''; if(this.cellWeekNumbersVisible&&(date.day()===weekCalcFirstDoW)){ html +=view.buildGotoAnchorHtml({ date: date, type: 'week' }, { 'class': 'fc-week-number' }, date.format('w') ); } if(isDayNumberVisible){ html +=view.buildGotoAnchorHtml(date, { 'class': 'fc-day-number' }, date.format('D') ); } html +=''; return html; }; DayGrid.prototype.prepareHits=function (){ this.colCoordCache.build(); this.rowCoordCache.build(); this.rowCoordCache.bottoms[this.rowCnt - 1] +=this.bottomCoordPadding; }; DayGrid.prototype.releaseHits=function (){ this.colCoordCache.clear(); this.rowCoordCache.clear(); }; DayGrid.prototype.queryHit=function (leftOffset, topOffset){ if(this.colCoordCache.isLeftInBounds(leftOffset)&&this.rowCoordCache.isTopInBounds(topOffset)){ var col=this.colCoordCache.getHorizontalIndex(leftOffset); var row=this.rowCoordCache.getVerticalIndex(topOffset); if(row!=null&&col!=null){ return this.getCellHit(row, col); }} }; DayGrid.prototype.getHitFootprint=function (hit){ var range=this.getCellRange(hit.row, hit.col); return new ComponentFootprint_1.default(new UnzonedRange_1.default(range.start, range.end), true ); }; DayGrid.prototype.getHitEl=function (hit){ return this.getCellEl(hit.row, hit.col); }; DayGrid.prototype.getCellHit=function (row, col){ return { row: row, col: col, component: this, left: this.colCoordCache.getLeftOffset(col), right: this.colCoordCache.getRightOffset(col), top: this.rowCoordCache.getTopOffset(row), bottom: this.rowCoordCache.getBottomOffset(row) };}; DayGrid.prototype.getCellEl=function (row, col){ return this.cellEls.eq(row * this.colCnt + col); }; DayGrid.prototype.executeEventUnrender=function (){ this.removeSegPopover(); _super.prototype.executeEventUnrender.call(this); }; DayGrid.prototype.getOwnEventSegs=function (){ return _super.prototype.getOwnEventSegs.call(this).concat(this.popoverSegs||[]); }; DayGrid.prototype.renderDrag=function (eventFootprints, seg, isTouch){ var i; for (i=0; i < eventFootprints.length; i++){ this.renderHighlight(eventFootprints[i].componentFootprint); } if(eventFootprints.length&&seg&&seg.component!==this){ this.helperRenderer.renderEventDraggingFootprints(eventFootprints, seg, isTouch); return true; }}; DayGrid.prototype.unrenderDrag=function (){ this.unrenderHighlight(); this.helperRenderer.unrender(); }; DayGrid.prototype.renderEventResize=function (eventFootprints, seg, isTouch){ var i; for (i=0; i < eventFootprints.length; i++){ this.renderHighlight(eventFootprints[i].componentFootprint); } this.helperRenderer.renderEventResizingFootprints(eventFootprints, seg, isTouch); }; DayGrid.prototype.unrenderEventResize=function (){ this.unrenderHighlight(); this.helperRenderer.unrender(); }; DayGrid.prototype.removeSegPopover=function (){ if(this.segPopover){ this.segPopover.hide(); }}; DayGrid.prototype.limitRows=function (levelLimit){ var rowStructs=this.eventRenderer.rowStructs||[]; var row; var rowLevelLimit; for (row=0; row < rowStructs.length; row++){ this.unlimitRow(row); if(!levelLimit){ rowLevelLimit=false; } else if(typeof levelLimit==='number'){ rowLevelLimit=levelLimit; }else{ rowLevelLimit=this.computeRowLevelLimit(row); } if(rowLevelLimit!==false){ this.limitRow(row, rowLevelLimit); }} }; DayGrid.prototype.computeRowLevelLimit=function (row){ var rowEl=this.rowEls.eq(row); var rowHeight=rowEl.height(); var trEls=this.eventRenderer.rowStructs[row].tbodyEl.children(); var i; var trEl; var trHeight; function iterInnerHeights(i, childNode){ trHeight=Math.max(trHeight, $(childNode).outerHeight()); } for (i=0; i < trEls.length; i++){ trEl=trEls.eq(i).removeClass('fc-limited'); trHeight=0; trEl.find('> td > :first-child').each(iterInnerHeights); if(trEl.position().top + trHeight > rowHeight){ return i; }} return false; }; DayGrid.prototype.limitRow=function (row, levelLimit){ var _this=this; var rowStruct=this.eventRenderer.rowStructs[row]; var moreNodes=[]; var col=0; var levelSegs; var cellMatrix; var limitedNodes; var i; var seg; var segsBelow; var totalSegsBelow; var colSegsBelow; var td; var rowspan; var segMoreNodes; var j; var moreTd; var moreWrap; var moreLink; var emptyCellsUntil=function (endCol){ while (col < endCol){ segsBelow=_this.getCellSegs(row, col, levelLimit); if(segsBelow.length){ td=cellMatrix[levelLimit - 1][col]; moreLink=_this.renderMoreLink(row, col, segsBelow); moreWrap=$('
    ').append(moreLink); td.append(moreWrap); moreNodes.push(moreWrap[0]); } col++; }}; if(levelLimit&&levelLimit < rowStruct.segLevels.length){ levelSegs=rowStruct.segLevels[levelLimit - 1]; cellMatrix=rowStruct.cellMatrix; limitedNodes=rowStruct.tbodyEl.children().slice(levelLimit) .addClass('fc-limited').get(); for (i=0; i < levelSegs.length; i++){ seg=levelSegs[i]; emptyCellsUntil(seg.leftCol); colSegsBelow=[]; totalSegsBelow=0; while (col <=seg.rightCol){ segsBelow=this.getCellSegs(row, col, levelLimit); colSegsBelow.push(segsBelow); totalSegsBelow +=segsBelow.length; col++; } if(totalSegsBelow){ td=cellMatrix[levelLimit - 1][seg.leftCol]; rowspan=td.attr('rowspan')||1; segMoreNodes=[]; for (j=0; j < colSegsBelow.length; j++){ moreTd=$('').attr('rowspan', rowspan); segsBelow=colSegsBelow[j]; moreLink=this.renderMoreLink(row, seg.leftCol + j, [seg].concat(segsBelow) ); moreWrap=$('
    ').append(moreLink); moreTd.append(moreWrap); segMoreNodes.push(moreTd[0]); moreNodes.push(moreTd[0]); } td.addClass('fc-limited').after($(segMoreNodes)); limitedNodes.push(td[0]); }} emptyCellsUntil(this.colCnt); rowStruct.moreEls=$(moreNodes); rowStruct.limitedEls=$(limitedNodes); }}; DayGrid.prototype.unlimitRow=function (row){ var rowStruct=this.eventRenderer.rowStructs[row]; if(rowStruct.moreEls){ rowStruct.moreEls.remove(); rowStruct.moreEls=null; } if(rowStruct.limitedEls){ rowStruct.limitedEls.removeClass('fc-limited'); rowStruct.limitedEls=null; }}; DayGrid.prototype.renderMoreLink=function (row, col, hiddenSegs){ var _this=this; var view=this.view; return $('') .text(this.getMoreLinkText(hiddenSegs.length)) .on('click', function (ev){ var clickOption=_this.opt('eventLimitClick'); var date=_this.getCellDate(row, col); var moreEl=$(ev.currentTarget); var dayEl=_this.getCellEl(row, col); var allSegs=_this.getCellSegs(row, col); var reslicedAllSegs=_this.resliceDaySegs(allSegs, date); var reslicedHiddenSegs=_this.resliceDaySegs(hiddenSegs, date); if(typeof clickOption==='function'){ clickOption=_this.publiclyTrigger('eventLimitClick', { context: view, args: [ { date: date.clone(), dayEl: dayEl, moreEl: moreEl, segs: reslicedAllSegs, hiddenSegs: reslicedHiddenSegs }, ev, view ] }); } if(clickOption==='popover'){ _this.showSegPopover(row, col, moreEl, reslicedAllSegs); } else if(typeof clickOption==='string'){ view.calendar.zoomTo(date, clickOption); }}); }; DayGrid.prototype.showSegPopover=function (row, col, moreLink, segs){ var _this=this; var view=this.view; var moreWrap=moreLink.parent(); var topEl; var options; if(this.rowCnt===1){ topEl=view.el; }else{ topEl=this.rowEls.eq(row); } options={ className: 'fc-more-popover ' + view.calendar.theme.getClass('popover'), content: this.renderSegPopoverContent(row, col, segs), parentEl: view.el, top: topEl.offset().top, autoHide: true, viewportConstrain: this.opt('popoverViewportConstrain'), hide: function (){ if(_this.popoverSegs){ _this.triggerBeforeEventSegsDestroyed(_this.popoverSegs); } _this.segPopover.removeElement(); _this.segPopover=null; _this.popoverSegs=null; }}; if(this.isRTL){ options.right=moreWrap.offset().left + moreWrap.outerWidth() + 1; }else{ options.left=moreWrap.offset().left - 1; } this.segPopover=new Popover_1.default(options); this.segPopover.show(); this.bindAllSegHandlersToEl(this.segPopover.el); this.triggerAfterEventSegsRendered(segs); }; DayGrid.prototype.renderSegPopoverContent=function (row, col, segs){ var view=this.view; var theme=view.calendar.theme; var title=this.getCellDate(row, col).format(this.opt('dayPopoverFormat')); var content=$('
    ' + '' + '' + util_1.htmlEscape(title) + '' + '
    ' + '
    ' + '
    ' + '
    ' + '
    '); var segContainer=content.find('.fc-event-container'); var i; segs=this.eventRenderer.renderFgSegEls(segs, true); this.popoverSegs=segs; for (i=0; i < segs.length; i++){ this.hitsNeeded(); segs[i].hit=this.getCellHit(row, col); this.hitsNotNeeded(); segContainer.append(segs[i].el); } return content; }; DayGrid.prototype.resliceDaySegs=function (segs, dayDate){ var dayStart=dayDate.clone(); var dayEnd=dayStart.clone().add(1, 'days'); var dayRange=new UnzonedRange_1.default(dayStart, dayEnd); var newSegs=[]; var i; var seg; var slicedRange; for (i=0; i < segs.length; i++){ seg=segs[i]; slicedRange=seg.footprint.componentFootprint.unzonedRange.intersect(dayRange); if(slicedRange){ newSegs.push($.extend({}, seg, { footprint: new EventFootprint_1.default(new ComponentFootprint_1.default(slicedRange, seg.footprint.componentFootprint.isAllDay), seg.footprint.eventDef, seg.footprint.eventInstance), isStart: seg.isStart&&slicedRange.isStart, isEnd: seg.isEnd&&slicedRange.isEnd })); }} this.eventRenderer.sortEventSegs(newSegs); return newSegs; }; DayGrid.prototype.getMoreLinkText=function (num){ var opt=this.opt('eventLimitText'); if(typeof opt==='function'){ return opt(num); }else{ return '+' + num + ' ' + opt; }}; DayGrid.prototype.getCellSegs=function (row, col, startLevel){ var segMatrix=this.eventRenderer.rowStructs[row].segMatrix; var level=startLevel||0; var segs=[]; var seg; while (level < segMatrix.length){ seg=segMatrix[level][col]; if(seg){ segs.push(seg); } level++; } return segs; }; return DayGrid; }(InteractiveDateComponent_1.default)); exports.default=DayGrid; DayGrid.prototype.eventRendererClass=DayGridEventRenderer_1.default; DayGrid.prototype.businessHourRendererClass=BusinessHourRenderer_1.default; DayGrid.prototype.helperRendererClass=DayGridHelperRenderer_1.default; DayGrid.prototype.fillRendererClass=DayGridFillRenderer_1.default; StandardInteractionsMixin_1.default.mixInto(DayGrid); DayTableMixin_1.default.mixInto(DayGrid); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Scroller_1=__webpack_require__(39); var View_1=__webpack_require__(41); var BasicViewDateProfileGenerator_1=__webpack_require__(228); var DayGrid_1=__webpack_require__(61); var BasicView= (function (_super){ tslib_1.__extends(BasicView, _super); function BasicView(calendar, viewSpec){ var _this=_super.call(this, calendar, viewSpec)||this; _this.dayGrid=_this.instantiateDayGrid(); _this.dayGrid.isRigid=_this.hasRigidRows(); if(_this.opt('weekNumbers')){ if(_this.opt('weekNumbersWithinDays')){ _this.dayGrid.cellWeekNumbersVisible=true; _this.dayGrid.colWeekNumbersVisible=false; }else{ _this.dayGrid.cellWeekNumbersVisible=false; _this.dayGrid.colWeekNumbersVisible=true; }} _this.addChild(_this.dayGrid); _this.scroller=new Scroller_1.default({ overflowX: 'hidden', overflowY: 'auto' }); return _this; } BasicView.prototype.instantiateDayGrid=function (){ var subclass=makeDayGridSubclass(this.dayGridClass); return new subclass(this); }; BasicView.prototype.executeDateRender=function (dateProfile){ this.dayGrid.breakOnWeeks=/year|month|week/.test(dateProfile.currentRangeUnit); _super.prototype.executeDateRender.call(this, dateProfile); }; BasicView.prototype.renderSkeleton=function (){ var dayGridContainerEl; var dayGridEl; this.el.addClass('fc-basic-view').html(this.renderSkeletonHtml()); this.scroller.render(); dayGridContainerEl=this.scroller.el.addClass('fc-day-grid-container'); dayGridEl=$('
    ').appendTo(dayGridContainerEl); this.el.find('.fc-body > tr > td').append(dayGridContainerEl); this.dayGrid.headContainerEl=this.el.find('.fc-head-container'); this.dayGrid.setElement(dayGridEl); }; BasicView.prototype.unrenderSkeleton=function (){ this.dayGrid.removeElement(); this.scroller.destroy(); }; BasicView.prototype.renderSkeletonHtml=function (){ var theme=this.calendar.theme; return '' + '' + (this.opt('columnHeader') ? '' + '' + '' + '' + '' : '') + '' + '' + '' + '' + '' + '
     
    '; }; BasicView.prototype.weekNumberStyleAttr=function (){ if(this.weekNumberWidth!=null){ return 'style="width:' + this.weekNumberWidth + 'px"'; } return ''; }; BasicView.prototype.hasRigidRows=function (){ var eventLimit=this.opt('eventLimit'); return eventLimit&&typeof eventLimit!=='number'; }; BasicView.prototype.updateSize=function (totalHeight, isAuto, isResize){ var eventLimit=this.opt('eventLimit'); var headRowEl=this.dayGrid.headContainerEl.find('.fc-row'); var scrollerHeight; var scrollbarWidths; if(!this.dayGrid.rowEls){ if(!isAuto){ scrollerHeight=this.computeScrollerHeight(totalHeight); this.scroller.setHeight(scrollerHeight); } return; } _super.prototype.updateSize.call(this, totalHeight, isAuto, isResize); if(this.dayGrid.colWeekNumbersVisible){ this.weekNumberWidth=util_1.matchCellWidths(this.el.find('.fc-week-number')); } this.scroller.clear(); util_1.uncompensateScroll(headRowEl); this.dayGrid.removeSegPopover(); if(eventLimit&&typeof eventLimit==='number'){ this.dayGrid.limitRows(eventLimit); } scrollerHeight=this.computeScrollerHeight(totalHeight); this.setGridHeight(scrollerHeight, isAuto); if(eventLimit&&typeof eventLimit!=='number'){ this.dayGrid.limitRows(eventLimit); } if(!isAuto){ this.scroller.setHeight(scrollerHeight); scrollbarWidths=this.scroller.getScrollbarWidths(); if(scrollbarWidths.left||scrollbarWidths.right){ util_1.compensateScroll(headRowEl, scrollbarWidths); scrollerHeight=this.computeScrollerHeight(totalHeight); this.scroller.setHeight(scrollerHeight); } this.scroller.lockOverflow(scrollbarWidths); }}; BasicView.prototype.computeScrollerHeight=function (totalHeight){ return totalHeight - util_1.subtractInnerElHeight(this.el, this.scroller.el); }; BasicView.prototype.setGridHeight=function (height, isAuto){ if(isAuto){ util_1.undistributeHeight(this.dayGrid.rowEls); }else{ util_1.distributeHeight(this.dayGrid.rowEls, height, true); }}; BasicView.prototype.computeInitialDateScroll=function (){ return { top: 0 };}; BasicView.prototype.queryDateScroll=function (){ return { top: this.scroller.getScrollTop() };}; BasicView.prototype.applyDateScroll=function (scroll){ if(scroll.top!==undefined){ this.scroller.setScrollTop(scroll.top); }}; return BasicView; }(View_1.default)); exports.default=BasicView; BasicView.prototype.dateProfileGeneratorClass=BasicViewDateProfileGenerator_1.default; BasicView.prototype.dayGridClass=DayGrid_1.default; function makeDayGridSubclass(SuperClass){ return (function (_super){ tslib_1.__extends(SubClass, _super); function SubClass(){ var _this=_super!==null&&_super.apply(this, arguments)||this; _this.colWeekNumbersVisible=false; return _this; } SubClass.prototype.renderHeadIntroHtml=function (){ var view=this.view; if(this.colWeekNumbersVisible){ return '' + '' + '' + util_1.htmlEscape(this.opt('weekNumberTitle')) + '' + ''; } return ''; }; SubClass.prototype.renderNumberIntroHtml=function (row){ var view=this.view; var weekStart=this.getCellDate(row, 0); if(this.colWeekNumbersVisible){ return '' + '' + view.buildGotoAnchorHtml({ date: weekStart, type: 'week', forceOff: this.colCnt===1 }, weekStart.format('w') ) + ''; } return ''; }; SubClass.prototype.renderBgIntroHtml=function (){ var view=this.view; if(this.colWeekNumbersVisible){ return ''; } return ''; }; SubClass.prototype.renderIntroHtml=function (){ var view=this.view; if(this.colWeekNumbersVisible){ return ''; } return ''; }; SubClass.prototype.getIsNumbersVisible=function (){ return DayGrid_1.default.prototype.getIsNumbersVisible.apply(this, arguments)||this.colWeekNumbersVisible; }; return SubClass; }(SuperClass)); } }), , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var UnzonedRange_1=__webpack_require__(5); var ComponentFootprint_1=__webpack_require__(12); var EventDefParser_1=__webpack_require__(49); var EventSource_1=__webpack_require__(6); var util_1=__webpack_require__(35); var Constraints= (function (){ function Constraints(eventManager, _calendar){ this.eventManager=eventManager; this._calendar=_calendar; } Constraints.prototype.opt=function (name){ return this._calendar.opt(name); }; Constraints.prototype.isEventInstanceGroupAllowed=function (eventInstanceGroup){ var eventDef=eventInstanceGroup.getEventDef(); var eventFootprints=this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges()); var i; var peerEventInstances=this.getPeerEventInstances(eventDef); var peerEventRanges=peerEventInstances.map(util_1.eventInstanceToEventRange); var peerEventFootprints=this.eventRangesToEventFootprints(peerEventRanges); var constraintVal=eventDef.getConstraint(); var overlapVal=eventDef.getOverlap(); var eventAllowFunc=this.opt('eventAllow'); for (i=0; i < eventFootprints.length; i++){ if(!this.isFootprintAllowed(eventFootprints[i].componentFootprint, peerEventFootprints, constraintVal, overlapVal, eventFootprints[i].eventInstance)){ return false; }} if(eventAllowFunc){ for (i=0; i < eventFootprints.length; i++){ if(eventAllowFunc(eventFootprints[i].componentFootprint.toLegacy(this._calendar), eventFootprints[i].getEventLegacy())===false){ return false; }} } return true; }; Constraints.prototype.getPeerEventInstances=function (eventDef){ return this.eventManager.getEventInstancesWithoutId(eventDef.id); }; Constraints.prototype.isSelectionFootprintAllowed=function (componentFootprint){ var peerEventInstances=this.eventManager.getEventInstances(); var peerEventRanges=peerEventInstances.map(util_1.eventInstanceToEventRange); var peerEventFootprints=this.eventRangesToEventFootprints(peerEventRanges); var selectAllowFunc; if(this.isFootprintAllowed(componentFootprint, peerEventFootprints, this.opt('selectConstraint'), this.opt('selectOverlap'))){ selectAllowFunc=this.opt('selectAllow'); if(selectAllowFunc){ return selectAllowFunc(componentFootprint.toLegacy(this._calendar))!==false; }else{ return true; }} return false; }; Constraints.prototype.isFootprintAllowed=function (componentFootprint, peerEventFootprints, constraintVal, overlapVal, subjectEventInstance ){ var constraintFootprints; var overlapEventFootprints; if(constraintVal!=null){ constraintFootprints=this.constraintValToFootprints(constraintVal, componentFootprint.isAllDay); if(!this.isFootprintWithinConstraints(componentFootprint, constraintFootprints)){ return false; }} overlapEventFootprints=this.collectOverlapEventFootprints(peerEventFootprints, componentFootprint); if(overlapVal===false){ if(overlapEventFootprints.length){ return false; }} else if(typeof overlapVal==='function'){ if(!isOverlapsAllowedByFunc(overlapEventFootprints, overlapVal, subjectEventInstance)){ return false; }} if(subjectEventInstance){ if(!isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance)){ return false; }} return true; }; Constraints.prototype.isFootprintWithinConstraints=function (componentFootprint, constraintFootprints){ var i; for (i=0; i < constraintFootprints.length; i++){ if(this.footprintContainsFootprint(constraintFootprints[i], componentFootprint)){ return true; }} return false; }; Constraints.prototype.constraintValToFootprints=function (constraintVal, isAllDay){ var eventInstances; if(constraintVal==='businessHours'){ return this.buildCurrentBusinessFootprints(isAllDay); } else if(typeof constraintVal==='object'){ eventInstances=this.parseEventDefToInstances(constraintVal); if(!eventInstances){ return this.parseFootprints(constraintVal); }else{ return this.eventInstancesToFootprints(eventInstances); }} else if(constraintVal!=null){ eventInstances=this.eventManager.getEventInstancesWithId(constraintVal); return this.eventInstancesToFootprints(eventInstances); }}; Constraints.prototype.buildCurrentBusinessFootprints=function (isAllDay){ var view=this._calendar.view; var businessHourGenerator=view.get('businessHourGenerator'); var unzonedRange=view.dateProfile.activeUnzonedRange; var eventInstanceGroup=businessHourGenerator.buildEventInstanceGroup(isAllDay, unzonedRange); if(eventInstanceGroup){ return this.eventInstancesToFootprints(eventInstanceGroup.eventInstances); }else{ return []; }}; Constraints.prototype.eventInstancesToFootprints=function (eventInstances){ var eventRanges=eventInstances.map(util_1.eventInstanceToEventRange); var eventFootprints=this.eventRangesToEventFootprints(eventRanges); return eventFootprints.map(util_1.eventFootprintToComponentFootprint); }; Constraints.prototype.collectOverlapEventFootprints=function (peerEventFootprints, targetFootprint){ var overlapEventFootprints=[]; var i; for (i=0; i < peerEventFootprints.length; i++){ if(this.footprintsIntersect(targetFootprint, peerEventFootprints[i].componentFootprint)){ overlapEventFootprints.push(peerEventFootprints[i]); }} return overlapEventFootprints; }; Constraints.prototype.parseEventDefToInstances=function (eventInput){ var eventManager=this.eventManager; var eventDef=EventDefParser_1.default.parse(eventInput, new EventSource_1.default(this._calendar)); if(!eventDef){ return false; } return eventDef.buildInstances(eventManager.currentPeriod.unzonedRange); }; Constraints.prototype.eventRangesToEventFootprints=function (eventRanges){ var i; var eventFootprints=[]; for (i=0; i < eventRanges.length; i++){ eventFootprints.push.apply(eventFootprints, this.eventRangeToEventFootprints(eventRanges[i])); } return eventFootprints; }; Constraints.prototype.eventRangeToEventFootprints=function (eventRange){ return [util_1.eventRangeToEventFootprint(eventRange)]; }; Constraints.prototype.parseFootprints=function (rawInput){ var start; var end; if(rawInput.start){ start=this._calendar.moment(rawInput.start); if(!start.isValid()){ start=null; }} if(rawInput.end){ end=this._calendar.moment(rawInput.end); if(!end.isValid()){ end=null; }} return [ new ComponentFootprint_1.default(new UnzonedRange_1.default(start, end), (start&&!start.hasTime())||(end&&!end.hasTime()) ) ]; }; Constraints.prototype.footprintContainsFootprint=function (outerFootprint, innerFootprint){ return outerFootprint.unzonedRange.containsRange(innerFootprint.unzonedRange); }; Constraints.prototype.footprintsIntersect=function (footprint0, footprint1){ return footprint0.unzonedRange.intersectsWith(footprint1.unzonedRange); }; return Constraints; }()); exports.default=Constraints; function isOverlapsAllowedByFunc(overlapEventFootprints, overlapFunc, subjectEventInstance){ var i; for (i=0; i < overlapEventFootprints.length; i++){ if(!overlapFunc(overlapEventFootprints[i].eventInstance.toLegacy(), subjectEventInstance ? subjectEventInstance.toLegacy():null)){ return false; }} return true; } function isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance){ var subjectLegacyInstance=subjectEventInstance.toLegacy(); var i; var overlapEventInstance; var overlapEventDef; var overlapVal; for (i=0; i < overlapEventFootprints.length; i++){ overlapEventInstance=overlapEventFootprints[i].eventInstance; overlapEventDef=overlapEventInstance.def; overlapVal=overlapEventDef.getOverlap(); if(overlapVal===false){ return false; } else if(typeof overlapVal==='function'){ if(!overlapVal(overlapEventInstance.toLegacy(), subjectLegacyInstance)){ return false; }} } return true; } }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var Mixin_1=__webpack_require__(14); var ParsableModelMixin= (function (_super){ tslib_1.__extends(ParsableModelMixin, _super); function ParsableModelMixin(){ return _super!==null&&_super.apply(this, arguments)||this; } ParsableModelMixin.defineStandardProps=function (propDefs){ var proto=this.prototype; if(!proto.hasOwnProperty('standardPropMap')){ proto.standardPropMap=Object.create(proto.standardPropMap); } util_1.copyOwnProps(propDefs, proto.standardPropMap); }; ParsableModelMixin.copyVerbatimStandardProps=function (src, dest){ var map=this.prototype.standardPropMap; var propName; for (propName in map){ if(src[propName]!=null && map[propName]===true ){ dest[propName]=src[propName]; }} }; ParsableModelMixin.prototype.applyProps=function (rawProps){ var standardPropMap=this.standardPropMap; var manualProps={}; var miscProps={}; var propName; for (propName in rawProps){ if(standardPropMap[propName]===true){ this[propName]=rawProps[propName]; } else if(standardPropMap[propName]===false){ manualProps[propName]=rawProps[propName]; }else{ miscProps[propName]=rawProps[propName]; }} this.applyMiscProps(miscProps); return this.applyManualStandardProps(manualProps); }; ParsableModelMixin.prototype.applyManualStandardProps=function (rawProps){ return true; }; ParsableModelMixin.prototype.applyMiscProps=function (rawProps){ }; ParsableModelMixin.prototype.isStandardProp=function (propName){ return propName in this.standardPropMap; }; return ParsableModelMixin; }(Mixin_1.default)); exports.default=ParsableModelMixin; ParsableModelMixin.prototype.standardPropMap={}; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var EventInstance= (function (){ function EventInstance(def, dateProfile){ this.def=def; this.dateProfile=dateProfile; } EventInstance.prototype.toLegacy=function (){ var dateProfile=this.dateProfile; var obj=this.def.toLegacy(); obj.start=dateProfile.start.clone(); obj.end=dateProfile.end ? dateProfile.end.clone():null; return obj; }; return EventInstance; }()); exports.default=EventInstance; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var moment=__webpack_require__(0); var EventDef_1=__webpack_require__(34); var EventInstance_1=__webpack_require__(209); var EventDateProfile_1=__webpack_require__(17); var RecurringEventDef= (function (_super){ tslib_1.__extends(RecurringEventDef, _super); function RecurringEventDef(){ return _super!==null&&_super.apply(this, arguments)||this; } RecurringEventDef.prototype.isAllDay=function (){ return !this.startTime&&!this.endTime; }; RecurringEventDef.prototype.buildInstances=function (unzonedRange){ var calendar=this.source.calendar; var unzonedDate=unzonedRange.getStart(); var unzonedEnd=unzonedRange.getEnd(); var zonedDayStart; var instanceStart; var instanceEnd; var instances=[]; while (unzonedDate.isBefore(unzonedEnd)){ if(!this.dowHash||this.dowHash[unzonedDate.day()]){ zonedDayStart=calendar.applyTimezone(unzonedDate); instanceStart=zonedDayStart.clone(); instanceEnd=null; if(this.startTime){ instanceStart.time(this.startTime); }else{ instanceStart.stripTime(); } if(this.endTime){ instanceEnd=zonedDayStart.clone().time(this.endTime); } instances.push(new EventInstance_1.default(this, new EventDateProfile_1.default(instanceStart, instanceEnd, calendar))); } unzonedDate.add(1, 'days'); } return instances; }; RecurringEventDef.prototype.setDow=function (dowNumbers){ if(!this.dowHash){ this.dowHash={};} for (var i=0; i < dowNumbers.length; i++){ this.dowHash[dowNumbers[i]]=true; }}; RecurringEventDef.prototype.clone=function (){ var def=_super.prototype.clone.call(this); if(def.startTime){ def.startTime=moment.duration(this.startTime); } if(def.endTime){ def.endTime=moment.duration(this.endTime); } if(this.dowHash){ def.dowHash=$.extend({}, this.dowHash); } return def; }; return RecurringEventDef; }(EventDef_1.default)); exports.default=RecurringEventDef; RecurringEventDef.prototype.applyProps=function (rawProps){ var superSuccess=EventDef_1.default.prototype.applyProps.call(this, rawProps); if(rawProps.start){ this.startTime=moment.duration(rawProps.start); } if(rawProps.end){ this.endTime=moment.duration(rawProps.end); } if(rawProps.dow){ this.setDow(rawProps.dow); } return superSuccess; }; RecurringEventDef.defineStandardProps({ start: false, end: false, dow: false }); }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var EventRange= (function (){ function EventRange(unzonedRange, eventDef, eventInstance){ this.unzonedRange=unzonedRange; this.eventDef=eventDef; if(eventInstance){ this.eventInstance=eventInstance; }} return EventRange; }()); exports.default=EventRange; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(35); var EventInstanceGroup_1=__webpack_require__(18); var RecurringEventDef_1=__webpack_require__(210); var EventSource_1=__webpack_require__(6); var BUSINESS_HOUR_EVENT_DEFAULTS={ start: '09:00', end: '17:00', dow: [1, 2, 3, 4, 5], rendering: 'inverse-background' }; var BusinessHourGenerator= (function (){ function BusinessHourGenerator(rawComplexDef, calendar){ this.rawComplexDef=rawComplexDef; this.calendar=calendar; } BusinessHourGenerator.prototype.buildEventInstanceGroup=function (isAllDay, unzonedRange){ var eventDefs=this.buildEventDefs(isAllDay); var eventInstanceGroup; if(eventDefs.length){ eventInstanceGroup=new EventInstanceGroup_1.default(util_1.eventDefsToEventInstances(eventDefs, unzonedRange)); eventInstanceGroup.explicitEventDef=eventDefs[0]; return eventInstanceGroup; }}; BusinessHourGenerator.prototype.buildEventDefs=function (isAllDay){ var rawComplexDef=this.rawComplexDef; var rawDefs=[]; var requireDow=false; var i; var defs=[]; if(rawComplexDef===true){ rawDefs=[{}]; } else if($.isPlainObject(rawComplexDef)){ rawDefs=[rawComplexDef]; } else if($.isArray(rawComplexDef)){ rawDefs=rawComplexDef; requireDow=true; } for (i=0; i < rawDefs.length; i++){ if(!requireDow||rawDefs[i].dow){ defs.push(this.buildEventDef(isAllDay, rawDefs[i])); }} return defs; }; BusinessHourGenerator.prototype.buildEventDef=function (isAllDay, rawDef){ var fullRawDef=$.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, rawDef); if(isAllDay){ fullRawDef.start=null; fullRawDef.end=null; } return RecurringEventDef_1.default.parse(fullRawDef, new EventSource_1.default(this.calendar) ); }; return BusinessHourGenerator; }()); exports.default=BusinessHourGenerator; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Theme_1=__webpack_require__(19); var StandardTheme= (function (_super){ tslib_1.__extends(StandardTheme, _super); function StandardTheme(){ return _super!==null&&_super.apply(this, arguments)||this; } return StandardTheme; }(Theme_1.default)); exports.default=StandardTheme; StandardTheme.prototype.classes={ widget: 'fc-unthemed', widgetHeader: 'fc-widget-header', widgetContent: 'fc-widget-content', buttonGroup: 'fc-button-group', button: 'fc-button', cornerLeft: 'fc-corner-left', cornerRight: 'fc-corner-right', stateDefault: 'fc-state-default', stateActive: 'fc-state-active', stateDisabled: 'fc-state-disabled', stateHover: 'fc-state-hover', stateDown: 'fc-state-down', popoverHeader: 'fc-widget-header', popoverContent: 'fc-widget-content', headerRow: 'fc-widget-header', dayRow: 'fc-widget-content', listView: 'fc-widget-content' }; StandardTheme.prototype.baseIconClass='fc-icon'; StandardTheme.prototype.iconClasses={ close: 'fc-icon-x', prev: 'fc-icon-left-single-arrow', next: 'fc-icon-right-single-arrow', prevYear: 'fc-icon-left-double-arrow', nextYear: 'fc-icon-right-double-arrow' }; StandardTheme.prototype.iconOverrideOption='buttonIcons'; StandardTheme.prototype.iconOverrideCustomButtonOption='icon'; StandardTheme.prototype.iconOverridePrefix='fc-icon-'; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Theme_1=__webpack_require__(19); var JqueryUiTheme= (function (_super){ tslib_1.__extends(JqueryUiTheme, _super); function JqueryUiTheme(){ return _super!==null&&_super.apply(this, arguments)||this; } return JqueryUiTheme; }(Theme_1.default)); exports.default=JqueryUiTheme; JqueryUiTheme.prototype.classes={ widget: 'ui-widget', widgetHeader: 'ui-widget-header', widgetContent: 'ui-widget-content', buttonGroup: 'fc-button-group', button: 'ui-button', cornerLeft: 'ui-corner-left', cornerRight: 'ui-corner-right', stateDefault: 'ui-state-default', stateActive: 'ui-state-active', stateDisabled: 'ui-state-disabled', stateHover: 'ui-state-hover', stateDown: 'ui-state-down', today: 'ui-state-highlight', popoverHeader: 'ui-widget-header', popoverContent: 'ui-widget-content', headerRow: 'ui-widget-header', dayRow: 'ui-widget-content', listView: 'ui-widget-content' }; JqueryUiTheme.prototype.baseIconClass='ui-icon'; JqueryUiTheme.prototype.iconClasses={ close: 'ui-icon-closethick', prev: 'ui-icon-circle-triangle-w', next: 'ui-icon-circle-triangle-e', prevYear: 'ui-icon-seek-prev', nextYear: 'ui-icon-seek-next' }; JqueryUiTheme.prototype.iconOverrideOption='themeButtonIcons'; JqueryUiTheme.prototype.iconOverrideCustomButtonOption='themeIcon'; JqueryUiTheme.prototype.iconOverridePrefix='ui-icon-'; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var Promise_1=__webpack_require__(20); var EventSource_1=__webpack_require__(6); var FuncEventSource= (function (_super){ tslib_1.__extends(FuncEventSource, _super); function FuncEventSource(){ return _super!==null&&_super.apply(this, arguments)||this; } FuncEventSource.parse=function (rawInput, calendar){ var rawProps; if($.isFunction(rawInput.events)){ rawProps=rawInput; } else if($.isFunction(rawInput)){ rawProps={ events: rawInput };} if(rawProps){ return EventSource_1.default.parse.call(this, rawProps, calendar); } return false; }; FuncEventSource.prototype.fetch=function (start, end, timezone){ var _this=this; this.calendar.pushLoading(); return Promise_1.default.construct(function (onResolve){ _this.func.call(_this.calendar, start.clone(), end.clone(), timezone, function (rawEventDefs){ _this.calendar.popLoading(); onResolve(_this.parseEventDefs(rawEventDefs)); }); }); }; FuncEventSource.prototype.getPrimitive=function (){ return this.func; }; FuncEventSource.prototype.applyManualStandardProps=function (rawProps){ var superSuccess=_super.prototype.applyManualStandardProps.call(this, rawProps); this.func=rawProps.events; return superSuccess; }; return FuncEventSource; }(EventSource_1.default)); exports.default=FuncEventSource; FuncEventSource.defineStandardProps({ events: false }); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Promise_1=__webpack_require__(20); var EventSource_1=__webpack_require__(6); var JsonFeedEventSource= (function (_super){ tslib_1.__extends(JsonFeedEventSource, _super); function JsonFeedEventSource(){ return _super!==null&&_super.apply(this, arguments)||this; } JsonFeedEventSource.parse=function (rawInput, calendar){ var rawProps; if(typeof rawInput.url==='string'){ rawProps=rawInput; } else if(typeof rawInput==='string'){ rawProps={ url: rawInput };} if(rawProps){ return EventSource_1.default.parse.call(this, rawProps, calendar); } return false; }; JsonFeedEventSource.prototype.fetch=function (start, end, timezone){ var _this=this; var ajaxSettings=this.ajaxSettings; var onSuccess=ajaxSettings.success; var onError=ajaxSettings.error; var requestParams=this.buildRequestParams(start, end, timezone); this.calendar.pushLoading(); return Promise_1.default.construct(function (onResolve, onReject){ $.ajax($.extend({}, JsonFeedEventSource.AJAX_DEFAULTS, ajaxSettings, { url: _this.url, data: requestParams, success: function (rawEventDefs, status, xhr){ var callbackRes; _this.calendar.popLoading(); if(rawEventDefs){ callbackRes=util_1.applyAll(onSuccess, _this, [rawEventDefs, status, xhr]); if($.isArray(callbackRes)){ rawEventDefs=callbackRes; } onResolve(_this.parseEventDefs(rawEventDefs)); }else{ onReject(); }}, error: function (xhr, statusText, errorThrown){ _this.calendar.popLoading(); util_1.applyAll(onError, _this, [xhr, statusText, errorThrown]); onReject(); }})); }); }; JsonFeedEventSource.prototype.buildRequestParams=function (start, end, timezone){ var calendar=this.calendar; var ajaxSettings=this.ajaxSettings; var startParam; var endParam; var timezoneParam; var customRequestParams; var params={}; startParam=this.startParam; if(startParam==null){ startParam=calendar.opt('startParam'); } endParam=this.endParam; if(endParam==null){ endParam=calendar.opt('endParam'); } timezoneParam=this.timezoneParam; if(timezoneParam==null){ timezoneParam=calendar.opt('timezoneParam'); } if($.isFunction(ajaxSettings.data)){ customRequestParams=ajaxSettings.data(); }else{ customRequestParams=ajaxSettings.data||{};} $.extend(params, customRequestParams); params[startParam]=start.format(); params[endParam]=end.format(); if(timezone&&timezone!=='local'){ params[timezoneParam]=timezone; } return params; }; JsonFeedEventSource.prototype.getPrimitive=function (){ return this.url; }; JsonFeedEventSource.prototype.applyMiscProps=function (rawProps){ this.ajaxSettings=rawProps; }; JsonFeedEventSource.AJAX_DEFAULTS={ dataType: 'json', cache: false }; return JsonFeedEventSource; }(EventSource_1.default)); exports.default=JsonFeedEventSource; JsonFeedEventSource.defineStandardProps({ url: true, startParam: true, endParam: true, timezoneParam: true }); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var EmitterMixin_1=__webpack_require__(11); var TaskQueue= (function (){ function TaskQueue(){ this.q=[]; this.isPaused=false; this.isRunning=false; } TaskQueue.prototype.queue=function (){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } this.q.push.apply(this.q, args); this.tryStart(); }; TaskQueue.prototype.pause=function (){ this.isPaused=true; }; TaskQueue.prototype.resume=function (){ this.isPaused=false; this.tryStart(); }; TaskQueue.prototype.getIsIdle=function (){ return !this.isRunning&&!this.isPaused; }; TaskQueue.prototype.tryStart=function (){ if(!this.isRunning&&this.canRunNext()){ this.isRunning=true; this.trigger('start'); this.runRemaining(); }}; TaskQueue.prototype.canRunNext=function (){ return !this.isPaused&&this.q.length; }; TaskQueue.prototype.runRemaining=function (){ var _this=this; var task; var res; do { task=this.q.shift(); res=this.runTask(task); if(res&&res.then){ res.then(function (){ if(_this.canRunNext()){ _this.runRemaining(); }}); return; }} while (this.canRunNext()); this.trigger('stop'); this.isRunning=false; this.tryStart(); }; TaskQueue.prototype.runTask=function (task){ return task(); }; return TaskQueue; }()); exports.default=TaskQueue; EmitterMixin_1.default.mixInto(TaskQueue); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var TaskQueue_1=__webpack_require__(217); var RenderQueue= (function (_super){ tslib_1.__extends(RenderQueue, _super); function RenderQueue(waitsByNamespace){ var _this=_super.call(this)||this; _this.waitsByNamespace=waitsByNamespace||{}; return _this; } RenderQueue.prototype.queue=function (taskFunc, namespace, type){ var task={ func: taskFunc, namespace: namespace, type: type }; var waitMs; if(namespace){ waitMs=this.waitsByNamespace[namespace]; } if(this.waitNamespace){ if(namespace===this.waitNamespace&&waitMs!=null){ this.delayWait(waitMs); }else{ this.clearWait(); this.tryStart(); }} if(this.compoundTask(task)){ if(!this.waitNamespace&&waitMs!=null){ this.startWait(namespace, waitMs); }else{ this.tryStart(); }} }; RenderQueue.prototype.startWait=function (namespace, waitMs){ this.waitNamespace=namespace; this.spawnWait(waitMs); }; RenderQueue.prototype.delayWait=function (waitMs){ clearTimeout(this.waitId); this.spawnWait(waitMs); }; RenderQueue.prototype.spawnWait=function (waitMs){ var _this=this; this.waitId=setTimeout(function (){ _this.waitNamespace=null; _this.tryStart(); }, waitMs); }; RenderQueue.prototype.clearWait=function (){ if(this.waitNamespace){ clearTimeout(this.waitId); this.waitId=null; this.waitNamespace=null; }}; RenderQueue.prototype.canRunNext=function (){ if(!_super.prototype.canRunNext.call(this)){ return false; } if(this.waitNamespace){ var q=this.q; for (var i=0; i < q.length; i++){ if(q[i].namespace!==this.waitNamespace){ return true; }} return false; } return true; }; RenderQueue.prototype.runTask=function (task){ task.func(); }; RenderQueue.prototype.compoundTask=function (newTask){ var q=this.q; var shouldAppend=true; var i; var task; if(newTask.namespace&&newTask.type==='destroy'){ for (i=q.length - 1; i >=0; i--){ task=q[i]; switch (task.type){ case 'init': shouldAppend=false; case 'add': case 'remove': q.splice(i, 1); }} } if(shouldAppend){ q.push(newTask); } return shouldAppend; }; return RenderQueue; }(TaskQueue_1.default)); exports.default=RenderQueue; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var moment_ext_1=__webpack_require__(10); var date_formatting_1=__webpack_require__(47); var Component_1=__webpack_require__(237); var util_2=__webpack_require__(35); var DateComponent= (function (_super){ tslib_1.__extends(DateComponent, _super); function DateComponent(_view, _options){ var _this=_super.call(this)||this; _this.isRTL=false; _this.hitsNeededDepth=0; _this.hasAllDayBusinessHours=false; _this.isDatesRendered=false; if(_view){ _this['view']=_view; } if(_options){ _this['options']=_options; } _this.uid=String(DateComponent.guid++); _this.childrenByUid={}; _this.nextDayThreshold=moment.duration(_this.opt('nextDayThreshold')); _this.isRTL=_this.opt('isRTL'); if(_this.fillRendererClass){ _this.fillRenderer=new _this.fillRendererClass(_this); } if(_this.eventRendererClass){ _this.eventRenderer=new _this.eventRendererClass(_this, _this.fillRenderer); } if(_this.helperRendererClass&&_this.eventRenderer){ _this.helperRenderer=new _this.helperRendererClass(_this, _this.eventRenderer); } if(_this.businessHourRendererClass&&_this.fillRenderer){ _this.businessHourRenderer=new _this.businessHourRendererClass(_this, _this.fillRenderer); } return _this; } DateComponent.prototype.addChild=function (child){ if(!this.childrenByUid[child.uid]){ this.childrenByUid[child.uid]=child; return true; } return false; }; DateComponent.prototype.removeChild=function (child){ if(this.childrenByUid[child.uid]){ delete this.childrenByUid[child.uid]; return true; } return false; }; DateComponent.prototype.updateSize=function (totalHeight, isAuto, isResize){ this.callChildren('updateSize', arguments); }; DateComponent.prototype.opt=function (name){ return this._getView().opt(name); }; DateComponent.prototype.publiclyTrigger=function (){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } var calendar=this._getCalendar(); return calendar.publiclyTrigger.apply(calendar, args); }; DateComponent.prototype.hasPublicHandlers=function (){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } var calendar=this._getCalendar(); return calendar.hasPublicHandlers.apply(calendar, args); }; DateComponent.prototype.executeDateRender=function (dateProfile){ this.dateProfile=dateProfile; this.renderDates(dateProfile); this.isDatesRendered=true; this.callChildren('executeDateRender', arguments); }; DateComponent.prototype.executeDateUnrender=function (){ this.callChildren('executeDateUnrender', arguments); this.dateProfile=null; this.unrenderDates(); this.isDatesRendered=false; }; DateComponent.prototype.renderDates=function (dateProfile){ }; DateComponent.prototype.unrenderDates=function (){ }; DateComponent.prototype.getNowIndicatorUnit=function (){ }; DateComponent.prototype.renderNowIndicator=function (date){ this.callChildren('renderNowIndicator', arguments); }; DateComponent.prototype.unrenderNowIndicator=function (){ this.callChildren('unrenderNowIndicator', arguments); }; DateComponent.prototype.renderBusinessHours=function (businessHourGenerator){ if(this.businessHourRenderer){ this.businessHourRenderer.render(businessHourGenerator); } this.callChildren('renderBusinessHours', arguments); }; DateComponent.prototype.unrenderBusinessHours=function (){ this.callChildren('unrenderBusinessHours', arguments); if(this.businessHourRenderer){ this.businessHourRenderer.unrender(); }}; DateComponent.prototype.executeEventRender=function (eventsPayload){ if(this.eventRenderer){ this.eventRenderer.rangeUpdated(); this.eventRenderer.render(eventsPayload); } else if(this['renderEvents']){ this['renderEvents'](convertEventsPayloadToLegacyArray(eventsPayload)); } this.callChildren('executeEventRender', arguments); }; DateComponent.prototype.executeEventUnrender=function (){ this.callChildren('executeEventUnrender', arguments); if(this.eventRenderer){ this.eventRenderer.unrender(); } else if(this['destroyEvents']){ this['destroyEvents'](); }}; DateComponent.prototype.getBusinessHourSegs=function (){ var segs=this.getOwnBusinessHourSegs(); this.iterChildren(function (child){ segs.push.apply(segs, child.getBusinessHourSegs()); }); return segs; }; DateComponent.prototype.getOwnBusinessHourSegs=function (){ if(this.businessHourRenderer){ return this.businessHourRenderer.getSegs(); } return []; }; DateComponent.prototype.getEventSegs=function (){ var segs=this.getOwnEventSegs(); this.iterChildren(function (child){ segs.push.apply(segs, child.getEventSegs()); }); return segs; }; DateComponent.prototype.getOwnEventSegs=function (){ if(this.eventRenderer){ return this.eventRenderer.getSegs(); } return []; }; DateComponent.prototype.triggerAfterEventsRendered=function (){ this.triggerAfterEventSegsRendered(this.getEventSegs()); this.publiclyTrigger('eventAfterAllRender', { context: this, args: [this] }); }; DateComponent.prototype.triggerAfterEventSegsRendered=function (segs){ var _this=this; if(this.hasPublicHandlers('eventAfterRender')){ segs.forEach(function (seg){ var legacy; if(seg.el){ legacy=seg.footprint.getEventLegacy(); _this.publiclyTrigger('eventAfterRender', { context: legacy, args: [legacy, seg.el, _this] }); }}); }}; DateComponent.prototype.triggerBeforeEventsDestroyed=function (){ this.triggerBeforeEventSegsDestroyed(this.getEventSegs()); }; DateComponent.prototype.triggerBeforeEventSegsDestroyed=function (segs){ var _this=this; if(this.hasPublicHandlers('eventDestroy')){ segs.forEach(function (seg){ var legacy; if(seg.el){ legacy=seg.footprint.getEventLegacy(); _this.publiclyTrigger('eventDestroy', { context: legacy, args: [legacy, seg.el, _this] }); }}); }}; DateComponent.prototype.showEventsWithId=function (eventDefId){ this.getEventSegs().forEach(function (seg){ if(seg.footprint.eventDef.id===eventDefId && seg.el ){ seg.el.css('visibility', ''); }}); this.callChildren('showEventsWithId', arguments); }; DateComponent.prototype.hideEventsWithId=function (eventDefId){ this.getEventSegs().forEach(function (seg){ if(seg.footprint.eventDef.id===eventDefId && seg.el ){ seg.el.css('visibility', 'hidden'); }}); this.callChildren('hideEventsWithId', arguments); }; DateComponent.prototype.renderDrag=function (eventFootprints, seg, isTouch){ var renderedHelper=false; this.iterChildren(function (child){ if(child.renderDrag(eventFootprints, seg, isTouch)){ renderedHelper=true; }}); return renderedHelper; }; DateComponent.prototype.unrenderDrag=function (){ this.callChildren('unrenderDrag', arguments); }; DateComponent.prototype.renderEventResize=function (eventFootprints, seg, isTouch){ this.callChildren('renderEventResize', arguments); }; DateComponent.prototype.unrenderEventResize=function (){ this.callChildren('unrenderEventResize', arguments); }; DateComponent.prototype.renderSelectionFootprint=function (componentFootprint){ this.renderHighlight(componentFootprint); this.callChildren('renderSelectionFootprint', arguments); }; DateComponent.prototype.unrenderSelection=function (){ this.unrenderHighlight(); this.callChildren('unrenderSelection', arguments); }; DateComponent.prototype.renderHighlight=function (componentFootprint){ if(this.fillRenderer){ this.fillRenderer.renderFootprint('highlight', componentFootprint, { getClasses: function (){ return ['fc-highlight']; }}); } this.callChildren('renderHighlight', arguments); }; DateComponent.prototype.unrenderHighlight=function (){ if(this.fillRenderer){ this.fillRenderer.unrender('highlight'); } this.callChildren('unrenderHighlight', arguments); }; DateComponent.prototype.hitsNeeded=function (){ if(!(this.hitsNeededDepth++)){ this.prepareHits(); } this.callChildren('hitsNeeded', arguments); }; DateComponent.prototype.hitsNotNeeded=function (){ if(this.hitsNeededDepth&&!(--this.hitsNeededDepth)){ this.releaseHits(); } this.callChildren('hitsNotNeeded', arguments); }; DateComponent.prototype.prepareHits=function (){ }; DateComponent.prototype.releaseHits=function (){ }; DateComponent.prototype.queryHit=function (leftOffset, topOffset){ var childrenByUid=this.childrenByUid; var uid; var hit; for (uid in childrenByUid){ hit=childrenByUid[uid].queryHit(leftOffset, topOffset); if(hit){ break; }} return hit; }; DateComponent.prototype.getSafeHitFootprint=function (hit){ var footprint=this.getHitFootprint(hit); if(!this.dateProfile.activeUnzonedRange.containsRange(footprint.unzonedRange)){ return null; } return footprint; }; DateComponent.prototype.getHitFootprint=function (hit){ }; DateComponent.prototype.getHitEl=function (hit){ }; DateComponent.prototype.eventRangesToEventFootprints=function (eventRanges){ var eventFootprints=[]; var i; for (i=0; i < eventRanges.length; i++){ eventFootprints.push.apply(eventFootprints, this.eventRangeToEventFootprints(eventRanges[i])); } return eventFootprints; }; DateComponent.prototype.eventRangeToEventFootprints=function (eventRange){ return [util_2.eventRangeToEventFootprint(eventRange)]; }; DateComponent.prototype.eventFootprintsToSegs=function (eventFootprints){ var segs=[]; var i; for (i=0; i < eventFootprints.length; i++){ segs.push.apply(segs, this.eventFootprintToSegs(eventFootprints[i])); } return segs; }; DateComponent.prototype.eventFootprintToSegs=function (eventFootprint){ var unzonedRange=eventFootprint.componentFootprint.unzonedRange; var segs; var i; var seg; segs=this.componentFootprintToSegs(eventFootprint.componentFootprint); for (i=0; i < segs.length; i++){ seg=segs[i]; if(!unzonedRange.isStart){ seg.isStart=false; } if(!unzonedRange.isEnd){ seg.isEnd=false; } seg.footprint=eventFootprint; } return segs; }; DateComponent.prototype.componentFootprintToSegs=function (componentFootprint){ return []; }; DateComponent.prototype.callChildren=function (methodName, args){ this.iterChildren(function (child){ child[methodName].apply(child, args); }); }; DateComponent.prototype.iterChildren=function (func){ var childrenByUid=this.childrenByUid; var uid; for (uid in childrenByUid){ func(childrenByUid[uid]); }}; DateComponent.prototype._getCalendar=function (){ var t=this; return t.calendar||t.view.calendar; }; DateComponent.prototype._getView=function (){ return this.view; }; DateComponent.prototype._getDateProfile=function (){ return this._getView().get('dateProfile'); }; DateComponent.prototype.buildGotoAnchorHtml=function (gotoOptions, attrs, innerHtml){ var date; var type; var forceOff; var finalOptions; if($.isPlainObject(gotoOptions)){ date=gotoOptions.date; type=gotoOptions.type; forceOff=gotoOptions.forceOff; }else{ date=gotoOptions; } date=moment_ext_1.default(date); finalOptions={ date: date.format('YYYY-MM-DD'), type: type||'day' }; if(typeof attrs==='string'){ innerHtml=attrs; attrs=null; } attrs=attrs ? ' ' + util_1.attrsToStr(attrs):''; innerHtml=innerHtml||''; if(!forceOff&&this.opt('navLinks')){ return '' + innerHtml + '
    '; }else{ return '' + innerHtml + ''; }}; DateComponent.prototype.getAllDayHtml=function (){ return this.opt('allDayHtml')||util_1.htmlEscape(this.opt('allDayText')); }; DateComponent.prototype.getDayClasses=function (date, noThemeHighlight){ var view=this._getView(); var classes=[]; var today; if(!this.dateProfile.activeUnzonedRange.containsDate(date)){ classes.push('fc-disabled-day'); }else{ classes.push('fc-' + util_1.dayIDs[date.day()]); if(view.isDateInOtherMonth(date, this.dateProfile)){ classes.push('fc-other-month'); } today=view.calendar.getNow(); if(date.isSame(today, 'day')){ classes.push('fc-today'); if(noThemeHighlight!==true){ classes.push(view.calendar.theme.getClass('today')); }} else if(date < today){ classes.push('fc-past'); }else{ classes.push('fc-future'); }} return classes; }; DateComponent.prototype.formatRange=function (range, isAllDay, formatStr, separator){ var end=range.end; if(isAllDay){ end=end.clone().subtract(1); } return date_formatting_1.formatRange(range.start, end, formatStr, separator, this.isRTL); }; DateComponent.prototype.currentRangeAs=function (unit){ return this._getDateProfile().currentUnzonedRange.as(unit); }; DateComponent.prototype.computeDayRange=function (unzonedRange){ var calendar=this._getCalendar(); var startDay=calendar.msToUtcMoment(unzonedRange.startMs, true); var end=calendar.msToUtcMoment(unzonedRange.endMs); var endTimeMS=+end.time(); var endDay=end.clone().stripTime(); if(endTimeMS&&endTimeMS >=this.nextDayThreshold){ endDay.add(1, 'days'); } if(endDay <=startDay){ endDay=startDay.clone().add(1, 'days'); } return { start: startDay, end: endDay };}; DateComponent.prototype.isMultiDayRange=function (unzonedRange){ var dayRange=this.computeDayRange(unzonedRange); return dayRange.end.diff(dayRange.start, 'days') > 1; }; DateComponent.guid=0; return DateComponent; }(Component_1.default)); exports.default=DateComponent; function convertEventsPayloadToLegacyArray(eventsPayload){ var eventDefId; var eventInstances; var legacyEvents=[]; var i; for (eventDefId in eventsPayload){ eventInstances=eventsPayload[eventDefId].eventInstances; for (i=0; i < eventInstances.length; i++){ legacyEvents.push(eventInstances[i].toLegacy()); }} return legacyEvents; } }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var options_1=__webpack_require__(32); var Iterator_1=__webpack_require__(238); var GlobalEmitter_1=__webpack_require__(21); var EmitterMixin_1=__webpack_require__(11); var ListenerMixin_1=__webpack_require__(7); var Toolbar_1=__webpack_require__(239); var OptionsManager_1=__webpack_require__(240); var ViewSpecManager_1=__webpack_require__(241); var Constraints_1=__webpack_require__(207); var locale_1=__webpack_require__(31); var moment_ext_1=__webpack_require__(10); var UnzonedRange_1=__webpack_require__(5); var ComponentFootprint_1=__webpack_require__(12); var EventDateProfile_1=__webpack_require__(17); var EventManager_1=__webpack_require__(242); var BusinessHourGenerator_1=__webpack_require__(212); var EventSourceParser_1=__webpack_require__(38); var EventDefParser_1=__webpack_require__(49); var SingleEventDef_1=__webpack_require__(13); var EventDefMutation_1=__webpack_require__(37); var EventSource_1=__webpack_require__(6); var ThemeRegistry_1=__webpack_require__(51); var Calendar= (function (){ function Calendar(el, overrides){ this.loadingLevel=0; this.ignoreUpdateViewSize=0; this.freezeContentHeightDepth=0; GlobalEmitter_1.default.needed(); this.el=el; this.viewsByType={}; this.optionsManager=new OptionsManager_1.default(this, overrides); this.viewSpecManager=new ViewSpecManager_1.default(this.optionsManager, this); this.initMomentInternals(); this.initCurrentDate(); this.initEventManager(); this.constraints=new Constraints_1.default(this.eventManager, this); this.constructed(); } Calendar.prototype.constructed=function (){ }; Calendar.prototype.getView=function (){ return this.view; }; Calendar.prototype.publiclyTrigger=function (name, triggerInfo){ var optHandler=this.opt(name); var context; var args; if($.isPlainObject(triggerInfo)){ context=triggerInfo.context; args=triggerInfo.args; } else if($.isArray(triggerInfo)){ args=triggerInfo; } if(context==null){ context=this.el[0]; } if(!args){ args=[]; } this.triggerWith(name, context, args); if(optHandler){ return optHandler.apply(context, args); }}; Calendar.prototype.hasPublicHandlers=function (name){ return this.hasHandlers(name) || this.opt(name); }; Calendar.prototype.option=function (name, value){ var newOptionHash; if(typeof name==='string'){ if(value===undefined){ return this.optionsManager.get(name); }else{ newOptionHash={}; newOptionHash[name]=value; this.optionsManager.add(newOptionHash); }} else if(typeof name==='object'){ this.optionsManager.add(name); }}; Calendar.prototype.opt=function (name){ return this.optionsManager.get(name); }; Calendar.prototype.instantiateView=function (viewType){ var spec=this.viewSpecManager.getViewSpec(viewType); if(!spec){ throw new Error("View type \"" + viewType + "\" is not valid"); } return new spec['class'](this, spec); }; Calendar.prototype.isValidViewType=function (viewType){ return Boolean(this.viewSpecManager.getViewSpec(viewType)); }; Calendar.prototype.changeView=function (viewName, dateOrRange){ if(dateOrRange){ if(dateOrRange.start&&dateOrRange.end){ this.optionsManager.recordOverrides({ visibleRange: dateOrRange }); }else{ this.currentDate=this.moment(dateOrRange).stripZone(); }} this.renderView(viewName); }; Calendar.prototype.zoomTo=function (newDate, viewType){ var spec; viewType=viewType||'day'; spec=this.viewSpecManager.getViewSpec(viewType) || this.viewSpecManager.getUnitViewSpec(viewType); this.currentDate=newDate.clone(); this.renderView(spec ? spec.type:null); }; Calendar.prototype.initCurrentDate=function (){ var defaultDateInput=this.opt('defaultDate'); if(defaultDateInput!=null){ this.currentDate=this.moment(defaultDateInput).stripZone(); }else{ this.currentDate=this.getNow(); }}; Calendar.prototype.prev=function (){ var view=this.view; var prevInfo=view.dateProfileGenerator.buildPrev(view.get('dateProfile')); if(prevInfo.isValid){ this.currentDate=prevInfo.date; this.renderView(); }}; Calendar.prototype.next=function (){ var view=this.view; var nextInfo=view.dateProfileGenerator.buildNext(view.get('dateProfile')); if(nextInfo.isValid){ this.currentDate=nextInfo.date; this.renderView(); }}; Calendar.prototype.prevYear=function (){ this.currentDate.add(-1, 'years'); this.renderView(); }; Calendar.prototype.nextYear=function (){ this.currentDate.add(1, 'years'); this.renderView(); }; Calendar.prototype.today=function (){ this.currentDate=this.getNow(); this.renderView(); }; Calendar.prototype.gotoDate=function (zonedDateInput){ this.currentDate=this.moment(zonedDateInput).stripZone(); this.renderView(); }; Calendar.prototype.incrementDate=function (delta){ this.currentDate.add(moment.duration(delta)); this.renderView(); }; Calendar.prototype.getDate=function (){ return this.applyTimezone(this.currentDate); }; Calendar.prototype.pushLoading=function (){ if(!(this.loadingLevel++)){ this.publiclyTrigger('loading', [true, this.view]); }}; Calendar.prototype.popLoading=function (){ if(!(--this.loadingLevel)){ this.publiclyTrigger('loading', [false, this.view]); }}; Calendar.prototype.render=function (){ if(!this.contentEl){ this.initialRender(); } else if(this.elementVisible()){ this.calcSize(); this.updateViewSize(); }}; Calendar.prototype.initialRender=function (){ var _this=this; var el=this.el; el.addClass('fc'); el.on('click.fc', 'a[data-goto]', function (ev){ var anchorEl=$(ev.currentTarget); var gotoOptions=anchorEl.data('goto'); var date=_this.moment(gotoOptions.date); var viewType=gotoOptions.type; var customAction=_this.view.opt('navLink' + util_1.capitaliseFirstLetter(viewType) + 'Click'); if(typeof customAction==='function'){ customAction(date, ev); }else{ if(typeof customAction==='string'){ viewType=customAction; } _this.zoomTo(date, viewType); }}); this.optionsManager.watch('settingTheme', ['?theme', '?themeSystem'], function (opts){ var themeClass=ThemeRegistry_1.getThemeSystemClass(opts.themeSystem||opts.theme); var theme=new themeClass(_this.optionsManager); var widgetClass=theme.getClass('widget'); _this.theme=theme; if(widgetClass){ el.addClass(widgetClass); }}, function (){ var widgetClass=_this.theme.getClass('widget'); _this.theme=null; if(widgetClass){ el.removeClass(widgetClass); }}); this.optionsManager.watch('settingBusinessHourGenerator', ['?businessHours'], function (deps){ _this.businessHourGenerator=new BusinessHourGenerator_1.default(deps.businessHours, _this); if(_this.view){ _this.view.set('businessHourGenerator', _this.businessHourGenerator); }}, function (){ _this.businessHourGenerator=null; }); this.optionsManager.watch('applyingDirClasses', ['?isRTL', '?locale'], function (opts){ el.toggleClass('fc-ltr', !opts.isRTL); el.toggleClass('fc-rtl', opts.isRTL); }); this.contentEl=$("
    ").prependTo(el); this.initToolbars(); this.renderHeader(); this.renderFooter(); this.renderView(this.opt('defaultView')); if(this.opt('handleWindowResize')){ $(window).resize(this.windowResizeProxy=util_1.debounce(this.windowResize.bind(this), this.opt('windowResizeDelay'))); }}; Calendar.prototype.destroy=function (){ if(this.view){ this.clearView(); } this.toolbarsManager.proxyCall('removeElement'); this.contentEl.remove(); this.el.removeClass('fc fc-ltr fc-rtl'); this.optionsManager.unwatch('settingTheme'); this.optionsManager.unwatch('settingBusinessHourGenerator'); this.el.off('.fc'); if(this.windowResizeProxy){ $(window).unbind('resize', this.windowResizeProxy); this.windowResizeProxy=null; } GlobalEmitter_1.default.unneeded(); }; Calendar.prototype.elementVisible=function (){ return this.el.is(':visible'); }; Calendar.prototype.bindViewHandlers=function (view){ var _this=this; view.watch('titleForCalendar', ['title'], function (deps){ if(view===_this.view){ _this.setToolbarsTitle(deps.title); }}); view.watch('dateProfileForCalendar', ['dateProfile'], function (deps){ if(view===_this.view){ _this.currentDate=deps.dateProfile.date; _this.updateToolbarButtons(deps.dateProfile); }}); }; Calendar.prototype.unbindViewHandlers=function (view){ view.unwatch('titleForCalendar'); view.unwatch('dateProfileForCalendar'); }; Calendar.prototype.renderView=function (viewType){ var oldView=this.view; var newView; this.freezeContentHeight(); if(oldView&&viewType&&oldView.type!==viewType){ this.clearView(); } if(!this.view&&viewType){ newView=this.view = this.viewsByType[viewType] || (this.viewsByType[viewType]=this.instantiateView(viewType)); this.bindViewHandlers(newView); newView.startBatchRender(); newView.setElement($("
    ").appendTo(this.contentEl)); this.toolbarsManager.proxyCall('activateButton', viewType); } if(this.view){ if(this.view.get('businessHourGenerator')!==this.businessHourGenerator){ this.view.set('businessHourGenerator', this.businessHourGenerator); } this.view.setDate(this.currentDate); if(newView){ newView.stopBatchRender(); }} this.thawContentHeight(); }; Calendar.prototype.clearView=function (){ var currentView=this.view; this.toolbarsManager.proxyCall('deactivateButton', currentView.type); this.unbindViewHandlers(currentView); currentView.removeElement(); currentView.unsetDate(); this.view=null; }; Calendar.prototype.reinitView=function (){ var oldView=this.view; var scroll=oldView.queryScroll(); this.freezeContentHeight(); this.clearView(); this.calcSize(); this.renderView(oldView.type); this.view.applyScroll(scroll); this.thawContentHeight(); }; Calendar.prototype.getSuggestedViewHeight=function (){ if(this.suggestedViewHeight==null){ this.calcSize(); } return this.suggestedViewHeight; }; Calendar.prototype.isHeightAuto=function (){ return this.opt('contentHeight')==='auto'||this.opt('height')==='auto'; }; Calendar.prototype.updateViewSize=function (isResize){ if(isResize===void 0){ isResize=false; } var view=this.view; var scroll; if(!this.ignoreUpdateViewSize&&view){ if(isResize){ this.calcSize(); scroll=view.queryScroll(); } this.ignoreUpdateViewSize++; view.updateSize(this.getSuggestedViewHeight(), this.isHeightAuto(), isResize); this.ignoreUpdateViewSize--; if(isResize){ view.applyScroll(scroll); } return true; }}; Calendar.prototype.calcSize=function (){ if(this.elementVisible()){ this._calcSize(); }}; Calendar.prototype._calcSize=function (){ var contentHeightInput=this.opt('contentHeight'); var heightInput=this.opt('height'); if(typeof contentHeightInput==='number'){ this.suggestedViewHeight=contentHeightInput; } else if(typeof contentHeightInput==='function'){ this.suggestedViewHeight=contentHeightInput(); } else if(typeof heightInput==='number'){ this.suggestedViewHeight=heightInput - this.queryToolbarsHeight(); } else if(typeof heightInput==='function'){ this.suggestedViewHeight=heightInput() - this.queryToolbarsHeight(); } else if(heightInput==='parent'){ this.suggestedViewHeight=this.el.parent().height() - this.queryToolbarsHeight(); }else{ this.suggestedViewHeight=Math.round(this.contentEl.width() / Math.max(this.opt('aspectRatio'), .5)); }}; Calendar.prototype.windowResize=function (ev){ if(ev.target===window && this.view && this.view.isDatesRendered){ if(this.updateViewSize(true)){ this.publiclyTrigger('windowResize', [this.view]); }} }; Calendar.prototype.freezeContentHeight=function (){ if(!(this.freezeContentHeightDepth++)){ this.forceFreezeContentHeight(); }}; Calendar.prototype.forceFreezeContentHeight=function (){ this.contentEl.css({ width: '100%', height: this.contentEl.height(), overflow: 'hidden' }); }; Calendar.prototype.thawContentHeight=function (){ this.freezeContentHeightDepth--; this.contentEl.css({ width: '', height: '', overflow: '' }); if(this.freezeContentHeightDepth){ this.forceFreezeContentHeight(); }}; Calendar.prototype.initToolbars=function (){ this.header=new Toolbar_1.default(this, this.computeHeaderOptions()); this.footer=new Toolbar_1.default(this, this.computeFooterOptions()); this.toolbarsManager=new Iterator_1.default([this.header, this.footer]); }; Calendar.prototype.computeHeaderOptions=function (){ return { extraClasses: 'fc-header-toolbar', layout: this.opt('header') };}; Calendar.prototype.computeFooterOptions=function (){ return { extraClasses: 'fc-footer-toolbar', layout: this.opt('footer') };}; Calendar.prototype.renderHeader=function (){ var header=this.header; header.setToolbarOptions(this.computeHeaderOptions()); header.render(); if(header.el){ this.el.prepend(header.el); }}; Calendar.prototype.renderFooter=function (){ var footer=this.footer; footer.setToolbarOptions(this.computeFooterOptions()); footer.render(); if(footer.el){ this.el.append(footer.el); }}; Calendar.prototype.setToolbarsTitle=function (title){ this.toolbarsManager.proxyCall('updateTitle', title); }; Calendar.prototype.updateToolbarButtons=function (dateProfile){ var now=this.getNow(); var view=this.view; var todayInfo=view.dateProfileGenerator.build(now); var prevInfo=view.dateProfileGenerator.buildPrev(view.get('dateProfile')); var nextInfo=view.dateProfileGenerator.buildNext(view.get('dateProfile')); this.toolbarsManager.proxyCall((todayInfo.isValid&&!dateProfile.currentUnzonedRange.containsDate(now)) ? 'enableButton' : 'disableButton', 'today'); this.toolbarsManager.proxyCall(prevInfo.isValid ? 'enableButton' : 'disableButton', 'prev'); this.toolbarsManager.proxyCall(nextInfo.isValid ? 'enableButton' : 'disableButton', 'next'); }; Calendar.prototype.queryToolbarsHeight=function (){ return this.toolbarsManager.items.reduce(function (accumulator, toolbar){ var toolbarHeight=toolbar.el ? toolbar.el.outerHeight(true):0; return accumulator + toolbarHeight; }, 0); }; Calendar.prototype.select=function (zonedStartInput, zonedEndInput){ this.view.select(this.buildSelectFootprint.apply(this, arguments)); }; Calendar.prototype.unselect=function (){ if(this.view){ this.view.unselect(); }}; Calendar.prototype.buildSelectFootprint=function (zonedStartInput, zonedEndInput){ var start=this.moment(zonedStartInput).stripZone(); var end; if(zonedEndInput){ end=this.moment(zonedEndInput).stripZone(); } else if(start.hasTime()){ end=start.clone().add(this.defaultTimedEventDuration); }else{ end=start.clone().add(this.defaultAllDayEventDuration); } return new ComponentFootprint_1.default(new UnzonedRange_1.default(start, end), !start.hasTime()); }; Calendar.prototype.initMomentInternals=function (){ var _this=this; this.defaultAllDayEventDuration=moment.duration(this.opt('defaultAllDayEventDuration')); this.defaultTimedEventDuration=moment.duration(this.opt('defaultTimedEventDuration')); this.optionsManager.watch('buildingMomentLocale', [ '?locale', '?monthNames', '?monthNamesShort', '?dayNames', '?dayNamesShort', '?firstDay', '?weekNumberCalculation' ], function (opts){ var weekNumberCalculation=opts.weekNumberCalculation; var firstDay=opts.firstDay; var _week; if(weekNumberCalculation==='iso'){ weekNumberCalculation='ISO'; } var localeData=Object.create(locale_1.getMomentLocaleData(opts.locale) ); if(opts.monthNames){ localeData._months=opts.monthNames; } if(opts.monthNamesShort){ localeData._monthsShort=opts.monthNamesShort; } if(opts.dayNames){ localeData._weekdays=opts.dayNames; } if(opts.dayNamesShort){ localeData._weekdaysShort=opts.dayNamesShort; } if(firstDay==null&&weekNumberCalculation==='ISO'){ firstDay=1; } if(firstDay!=null){ _week=Object.create(localeData._week); _week.dow=firstDay; localeData._week=_week; } if(weekNumberCalculation==='ISO' || weekNumberCalculation==='local' || typeof weekNumberCalculation==='function'){ localeData._fullCalendar_weekCalc=weekNumberCalculation; } _this.localeData=localeData; if(_this.currentDate){ _this.localizeMoment(_this.currentDate); }}); }; Calendar.prototype.moment=function (){ var args=[]; for (var _i=0; _i < arguments.length; _i++){ args[_i]=arguments[_i]; } var mom; if(this.opt('timezone')==='local'){ mom=moment_ext_1.default.apply(null, args); if(mom.hasTime()){ mom.local(); }} else if(this.opt('timezone')==='UTC'){ mom=moment_ext_1.default.utc.apply(null, args); }else{ mom=moment_ext_1.default.parseZone.apply(null, args); } this.localizeMoment(mom); return mom; }; Calendar.prototype.msToMoment=function (ms, forceAllDay){ var mom=moment_ext_1.default.utc(ms); if(forceAllDay){ mom.stripTime(); }else{ mom=this.applyTimezone(mom); } this.localizeMoment(mom); return mom; }; Calendar.prototype.msToUtcMoment=function (ms, forceAllDay){ var mom=moment_ext_1.default.utc(ms); if(forceAllDay){ mom.stripTime(); } this.localizeMoment(mom); return mom; }; Calendar.prototype.localizeMoment=function (mom){ mom._locale=this.localeData; }; Calendar.prototype.getIsAmbigTimezone=function (){ return this.opt('timezone')!=='local'&&this.opt('timezone')!=='UTC'; }; Calendar.prototype.applyTimezone=function (date){ if(!date.hasTime()){ return date.clone(); } var zonedDate=this.moment(date.toArray()); var timeAdjust=date.time().asMilliseconds() - zonedDate.time().asMilliseconds(); var adjustedZonedDate; if(timeAdjust){ adjustedZonedDate=zonedDate.clone().add(timeAdjust); if(date.time().asMilliseconds() - adjustedZonedDate.time().asMilliseconds()===0){ zonedDate=adjustedZonedDate; }} return zonedDate; }; Calendar.prototype.footprintToDateProfile=function (componentFootprint, ignoreEnd){ if(ignoreEnd===void 0){ ignoreEnd=false; } var start=moment_ext_1.default.utc(componentFootprint.unzonedRange.startMs); var end; if(!ignoreEnd){ end=moment_ext_1.default.utc(componentFootprint.unzonedRange.endMs); } if(componentFootprint.isAllDay){ start.stripTime(); if(end){ end.stripTime(); }}else{ start=this.applyTimezone(start); if(end){ end=this.applyTimezone(end); }} return new EventDateProfile_1.default(start, end, this); }; Calendar.prototype.getNow=function (){ var now=this.opt('now'); if(typeof now==='function'){ now=now(); } return this.moment(now).stripZone(); }; Calendar.prototype.humanizeDuration=function (duration){ return duration.locale(this.opt('locale')).humanize(); }; Calendar.prototype.parseUnzonedRange=function (rangeInput){ var start=null; var end=null; if(rangeInput.start){ start=this.moment(rangeInput.start).stripZone(); } if(rangeInput.end){ end=this.moment(rangeInput.end).stripZone(); } if(!start&&!end){ return null; } if(start&&end&&end.isBefore(start)){ return null; } return new UnzonedRange_1.default(start, end); }; Calendar.prototype.initEventManager=function (){ var _this=this; var eventManager=new EventManager_1.default(this); var rawSources=this.opt('eventSources')||[]; var singleRawSource=this.opt('events'); this.eventManager=eventManager; if(singleRawSource){ rawSources.unshift(singleRawSource); } eventManager.on('release', function (eventsPayload){ _this.trigger('eventsReset', eventsPayload); }); eventManager.freeze(); rawSources.forEach(function (rawSource){ var source=EventSourceParser_1.default.parse(rawSource, _this); if(source){ eventManager.addSource(source); }}); eventManager.thaw(); }; Calendar.prototype.requestEvents=function (start, end){ return this.eventManager.requestEvents(start, end, this.opt('timezone'), !this.opt('lazyFetching')); }; Calendar.prototype.getEventEnd=function (event){ if(event.end){ return event.end.clone(); }else{ return this.getDefaultEventEnd(event.allDay, event.start); }}; Calendar.prototype.getDefaultEventEnd=function (allDay, zonedStart){ var end=zonedStart.clone(); if(allDay){ end.stripTime().add(this.defaultAllDayEventDuration); }else{ end.add(this.defaultTimedEventDuration); } if(this.getIsAmbigTimezone()){ end.stripZone(); } return end; }; Calendar.prototype.rerenderEvents=function (){ this.view.flash('displayingEvents'); }; Calendar.prototype.refetchEvents=function (){ this.eventManager.refetchAllSources(); }; Calendar.prototype.renderEvents=function (eventInputs, isSticky){ this.eventManager.freeze(); for (var i=0; i < eventInputs.length; i++){ this.renderEvent(eventInputs[i], isSticky); } this.eventManager.thaw(); }; Calendar.prototype.renderEvent=function (eventInput, isSticky){ if(isSticky===void 0){ isSticky=false; } var eventManager=this.eventManager; var eventDef=EventDefParser_1.default.parse(eventInput, eventInput.source||eventManager.stickySource); if(eventDef){ eventManager.addEventDef(eventDef, isSticky); }}; Calendar.prototype.removeEvents=function (legacyQuery){ var eventManager=this.eventManager; var legacyInstances=[]; var idMap={}; var eventDef; var i; if(legacyQuery==null){ eventManager.removeAllEventDefs(); }else{ eventManager.getEventInstances().forEach(function (eventInstance){ legacyInstances.push(eventInstance.toLegacy()); }); legacyInstances=filterLegacyEventInstances(legacyInstances, legacyQuery); for (i=0; i < legacyInstances.length; i++){ eventDef=this.eventManager.getEventDefByUid(legacyInstances[i]._id); idMap[eventDef.id]=true; } eventManager.freeze(); for (i in idMap){ eventManager.removeEventDefsById(i); } eventManager.thaw(); }}; Calendar.prototype.clientEvents=function (legacyQuery){ var legacyEventInstances=[]; this.eventManager.getEventInstances().forEach(function (eventInstance){ legacyEventInstances.push(eventInstance.toLegacy()); }); return filterLegacyEventInstances(legacyEventInstances, legacyQuery); }; Calendar.prototype.updateEvents=function (eventPropsArray){ this.eventManager.freeze(); for (var i=0; i < eventPropsArray.length; i++){ this.updateEvent(eventPropsArray[i]); } this.eventManager.thaw(); }; Calendar.prototype.updateEvent=function (eventProps){ var eventDef=this.eventManager.getEventDefByUid(eventProps._id); var eventInstance; var eventDefMutation; if(eventDef instanceof SingleEventDef_1.default){ eventInstance=eventDef.buildInstance(); eventDefMutation=EventDefMutation_1.default.createFromRawProps(eventInstance, eventProps, null ); this.eventManager.mutateEventsWithId(eventDef.id, eventDefMutation); }}; Calendar.prototype.getEventSources=function (){ return this.eventManager.otherSources.slice(); }; Calendar.prototype.getEventSourceById=function (id){ return this.eventManager.getSourceById(EventSource_1.default.normalizeId(id)); }; Calendar.prototype.addEventSource=function (sourceInput){ var source=EventSourceParser_1.default.parse(sourceInput, this); if(source){ this.eventManager.addSource(source); }}; Calendar.prototype.removeEventSources=function (sourceMultiQuery){ var eventManager=this.eventManager; var sources; var i; if(sourceMultiQuery==null){ this.eventManager.removeAllSources(); }else{ sources=eventManager.multiQuerySources(sourceMultiQuery); eventManager.freeze(); for (i=0; i < sources.length; i++){ eventManager.removeSource(sources[i]); } eventManager.thaw(); }}; Calendar.prototype.removeEventSource=function (sourceQuery){ var eventManager=this.eventManager; var sources=eventManager.querySources(sourceQuery); var i; eventManager.freeze(); for (i=0; i < sources.length; i++){ eventManager.removeSource(sources[i]); } eventManager.thaw(); }; Calendar.prototype.refetchEventSources=function (sourceMultiQuery){ var eventManager=this.eventManager; var sources=eventManager.multiQuerySources(sourceMultiQuery); var i; eventManager.freeze(); for (i=0; i < sources.length; i++){ eventManager.refetchSource(sources[i]); } eventManager.thaw(); }; Calendar.defaults=options_1.globalDefaults; Calendar.englishDefaults=options_1.englishDefaults; Calendar.rtlDefaults=options_1.rtlDefaults; return Calendar; }()); exports.default=Calendar; EmitterMixin_1.default.mixInto(Calendar); ListenerMixin_1.default.mixInto(Calendar); function filterLegacyEventInstances(legacyEventInstances, legacyQuery){ if(legacyQuery==null){ return legacyEventInstances; } else if($.isFunction(legacyQuery)){ return legacyEventInstances.filter(legacyQuery); }else{ legacyQuery +=''; return legacyEventInstances.filter(function (legacyEventInstance){ return legacyEventInstance.id==legacyQuery || legacyEventInstance._id===legacyQuery; }); }} }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var UnzonedRange_1=__webpack_require__(5); var DateProfileGenerator= (function (){ function DateProfileGenerator(_view){ this._view=_view; } DateProfileGenerator.prototype.opt=function (name){ return this._view.opt(name); }; DateProfileGenerator.prototype.trimHiddenDays=function (unzonedRange){ return this._view.trimHiddenDays(unzonedRange); }; DateProfileGenerator.prototype.msToUtcMoment=function (ms, forceAllDay){ return this._view.calendar.msToUtcMoment(ms, forceAllDay); }; DateProfileGenerator.prototype.buildPrev=function (currentDateProfile){ var prevDate=currentDateProfile.date.clone() .startOf(currentDateProfile.currentRangeUnit) .subtract(currentDateProfile.dateIncrement); return this.build(prevDate, -1); }; DateProfileGenerator.prototype.buildNext=function (currentDateProfile){ var nextDate=currentDateProfile.date.clone() .startOf(currentDateProfile.currentRangeUnit) .add(currentDateProfile.dateIncrement); return this.build(nextDate, 1); }; DateProfileGenerator.prototype.build=function (date, direction, forceToValid){ if(forceToValid===void 0){ forceToValid=false; } var isDateAllDay = !date.hasTime(); var validUnzonedRange; var minTime=null; var maxTime=null; var currentInfo; var isRangeAllDay; var renderUnzonedRange; var activeUnzonedRange; var isValid; validUnzonedRange=this.buildValidRange(); validUnzonedRange=this.trimHiddenDays(validUnzonedRange); if(forceToValid){ date=this.msToUtcMoment(validUnzonedRange.constrainDate(date), isDateAllDay); } currentInfo=this.buildCurrentRangeInfo(date, direction); isRangeAllDay=/^(year|month|week|day)$/.test(currentInfo.unit); renderUnzonedRange=this.buildRenderRange(this.trimHiddenDays(currentInfo.unzonedRange), currentInfo.unit, isRangeAllDay); renderUnzonedRange=this.trimHiddenDays(renderUnzonedRange); activeUnzonedRange=renderUnzonedRange.clone(); if(!this.opt('showNonCurrentDates')){ activeUnzonedRange=activeUnzonedRange.intersect(currentInfo.unzonedRange); } minTime=moment.duration(this.opt('minTime')); maxTime=moment.duration(this.opt('maxTime')); activeUnzonedRange=this.adjustActiveRange(activeUnzonedRange, minTime, maxTime); activeUnzonedRange=activeUnzonedRange.intersect(validUnzonedRange); if(activeUnzonedRange){ date=this.msToUtcMoment(activeUnzonedRange.constrainDate(date), isDateAllDay); } isValid=currentInfo.unzonedRange.intersectsWith(validUnzonedRange); return { validUnzonedRange: validUnzonedRange, currentUnzonedRange: currentInfo.unzonedRange, currentRangeUnit: currentInfo.unit, isRangeAllDay: isRangeAllDay, activeUnzonedRange: activeUnzonedRange, renderUnzonedRange: renderUnzonedRange, minTime: minTime, maxTime: maxTime, isValid: isValid, date: date, dateIncrement: this.buildDateIncrement(currentInfo.duration) };}; DateProfileGenerator.prototype.buildValidRange=function (){ return this._view.getUnzonedRangeOption('validRange', this._view.calendar.getNow()) || new UnzonedRange_1.default(); }; DateProfileGenerator.prototype.buildCurrentRangeInfo=function (date, direction){ var viewSpec=this._view.viewSpec; var duration=null; var unit=null; var unzonedRange=null; var dayCount; if(viewSpec.duration){ duration=viewSpec.duration; unit=viewSpec.durationUnit; unzonedRange=this.buildRangeFromDuration(date, direction, duration, unit); } else if((dayCount=this.opt('dayCount'))){ unit='day'; unzonedRange=this.buildRangeFromDayCount(date, direction, dayCount); } else if((unzonedRange=this.buildCustomVisibleRange(date))){ unit=util_1.computeGreatestUnit(unzonedRange.getStart(), unzonedRange.getEnd()); }else{ duration=this.getFallbackDuration(); unit=util_1.computeGreatestUnit(duration); unzonedRange=this.buildRangeFromDuration(date, direction, duration, unit); } return { duration: duration, unit: unit, unzonedRange: unzonedRange };}; DateProfileGenerator.prototype.getFallbackDuration=function (){ return moment.duration({ days: 1 }); }; DateProfileGenerator.prototype.adjustActiveRange=function (unzonedRange, minTime, maxTime){ var start=unzonedRange.getStart(); var end=unzonedRange.getEnd(); if(this._view.usesMinMaxTime){ if(minTime < 0){ start.time(0).add(minTime); } if(maxTime > 24 * 60 * 60 * 1000){ end.time(maxTime - (24 * 60 * 60 * 1000)); }} return new UnzonedRange_1.default(start, end); }; DateProfileGenerator.prototype.buildRangeFromDuration=function (date, direction, duration, unit){ var alignment=this.opt('dateAlignment'); var dateIncrementInput; var dateIncrementDuration; var start; var end; var res; if(!alignment){ dateIncrementInput=this.opt('dateIncrement'); if(dateIncrementInput){ dateIncrementDuration=moment.duration(dateIncrementInput); if(dateIncrementDuration < duration){ alignment=util_1.computeDurationGreatestUnit(dateIncrementDuration, dateIncrementInput); }else{ alignment=unit; }}else{ alignment=unit; }} if(duration.as('days') <=1){ if(this._view.isHiddenDay(start)){ start=this._view.skipHiddenDays(start, direction); start.startOf('day'); }} function computeRes(){ start=date.clone().startOf(alignment); end=start.clone().add(duration); res=new UnzonedRange_1.default(start, end); } computeRes(); if(!this.trimHiddenDays(res)){ date=this._view.skipHiddenDays(date, direction); computeRes(); } return res; }; DateProfileGenerator.prototype.buildRangeFromDayCount=function (date, direction, dayCount){ var customAlignment=this.opt('dateAlignment'); var runningCount=0; var start=date.clone(); var end; if(customAlignment){ start.startOf(customAlignment); } start.startOf('day'); start=this._view.skipHiddenDays(start, direction); end=start.clone(); do { end.add(1, 'day'); if(!this._view.isHiddenDay(end)){ runningCount++; }} while (runningCount < dayCount); return new UnzonedRange_1.default(start, end); }; DateProfileGenerator.prototype.buildCustomVisibleRange=function (date){ var visibleUnzonedRange=this._view.getUnzonedRangeOption('visibleRange', this._view.calendar.applyTimezone(date) ); if(visibleUnzonedRange&&(visibleUnzonedRange.startMs==null||visibleUnzonedRange.endMs==null)){ return null; } return visibleUnzonedRange; }; DateProfileGenerator.prototype.buildRenderRange=function (currentUnzonedRange, currentRangeUnit, isRangeAllDay){ return currentUnzonedRange.clone(); }; DateProfileGenerator.prototype.buildDateIncrement=function (fallback){ var dateIncrementInput=this.opt('dateIncrement'); var customAlignment; if(dateIncrementInput){ return moment.duration(dateIncrementInput); } else if((customAlignment=this.opt('dateAlignment'))){ return moment.duration(1, customAlignment); } else if(fallback){ return fallback; }else{ return moment.duration({ days: 1 }); }}; return DateProfileGenerator; }()); exports.default=DateProfileGenerator; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var moment=__webpack_require__(0); var exportHooks=__webpack_require__(16); var util_1=__webpack_require__(4); var moment_ext_1=__webpack_require__(10); var ListenerMixin_1=__webpack_require__(7); var HitDragListener_1=__webpack_require__(23); var SingleEventDef_1=__webpack_require__(13); var EventInstanceGroup_1=__webpack_require__(18); var EventSource_1=__webpack_require__(6); var Interaction_1=__webpack_require__(15); var ExternalDropping= (function (_super){ tslib_1.__extends(ExternalDropping, _super); function ExternalDropping(){ var _this=_super!==null&&_super.apply(this, arguments)||this; _this.isDragging=false; return _this; } ExternalDropping.prototype.end=function (){ if(this.dragListener){ this.dragListener.endInteraction(); }}; ExternalDropping.prototype.bindToDocument=function (){ this.listenTo($(document), { dragstart: this.handleDragStart, sortstart: this.handleDragStart }); }; ExternalDropping.prototype.unbindFromDocument=function (){ this.stopListeningTo($(document)); }; ExternalDropping.prototype.handleDragStart=function (ev, ui){ var el; var accept; if(this.opt('droppable')){ el=$((ui ? ui.item:null)||ev.target); accept=this.opt('dropAccept'); if($.isFunction(accept) ? accept.call(el[0], el):el.is(accept)){ if(!this.isDragging){ this.listenToExternalDrag(el, ev, ui); }} }}; ExternalDropping.prototype.listenToExternalDrag=function (el, ev, ui){ var _this=this; var component=this.component; var view=this.view; var meta=getDraggedElMeta(el); var singleEventDef; var dragListener=this.dragListener=new HitDragListener_1.default(component, { interactionStart: function (){ _this.isDragging=true; }, hitOver: function (hit){ var isAllowed=true; var hitFootprint=hit.component.getSafeHitFootprint(hit); var mutatedEventInstanceGroup; if(hitFootprint){ singleEventDef=_this.computeExternalDrop(hitFootprint, meta); if(singleEventDef){ mutatedEventInstanceGroup=new EventInstanceGroup_1.default(singleEventDef.buildInstances()); isAllowed=meta.eventProps ? component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup) : component.isExternalInstanceGroupAllowed(mutatedEventInstanceGroup); }else{ isAllowed=false; }}else{ isAllowed=false; } if(!isAllowed){ singleEventDef=null; util_1.disableCursor(); } if(singleEventDef){ component.renderDrag(component.eventRangesToEventFootprints(mutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, view.calendar))); }}, hitOut: function (){ singleEventDef=null; }, hitDone: function (){ util_1.enableCursor(); component.unrenderDrag(); }, interactionEnd: function (ev){ if(singleEventDef){ view.reportExternalDrop(singleEventDef, Boolean(meta.eventProps), Boolean(meta.stick), el, ev, ui); } _this.isDragging=false; _this.dragListener=null; }}); dragListener.startDrag(ev); }; ExternalDropping.prototype.computeExternalDrop=function (componentFootprint, meta){ var calendar=this.view.calendar; var start=moment_ext_1.default.utc(componentFootprint.unzonedRange.startMs).stripZone(); var end; var eventDef; if(componentFootprint.isAllDay){ if(meta.startTime){ start.time(meta.startTime); }else{ start.stripTime(); }} if(meta.duration){ end=start.clone().add(meta.duration); } start=calendar.applyTimezone(start); if(end){ end=calendar.applyTimezone(end); } eventDef=SingleEventDef_1.default.parse($.extend({}, meta.eventProps, { start: start, end: end }), new EventSource_1.default(calendar)); return eventDef; }; return ExternalDropping; }(Interaction_1.default)); exports.default=ExternalDropping; ListenerMixin_1.default.mixInto(ExternalDropping); exportHooks.dataAttrPrefix=''; function getDraggedElMeta(el){ var prefix=exportHooks.dataAttrPrefix; var eventProps; var startTime; var duration; var stick; if(prefix){ prefix +='-'; } eventProps=el.data(prefix + 'event')||null; if(eventProps){ if(typeof eventProps==='object'){ eventProps=$.extend({}, eventProps); }else{ eventProps={};} startTime=eventProps.start; if(startTime==null){ startTime=eventProps.time; } duration=eventProps.duration; stick=eventProps.stick; delete eventProps.start; delete eventProps.time; delete eventProps.duration; delete eventProps.stick; } if(startTime==null){ startTime=el.data(prefix + 'start'); } if(startTime==null){ startTime=el.data(prefix + 'time'); } if(duration==null){ duration=el.data(prefix + 'duration'); } if(stick==null){ stick=el.data(prefix + 'stick'); } startTime=startTime!=null ? moment.duration(startTime):null; duration=duration!=null ? moment.duration(duration):null; stick=Boolean(stick); return { eventProps: eventProps, startTime: startTime, duration: duration, stick: stick };} }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var EventDefMutation_1=__webpack_require__(37); var EventDefDateMutation_1=__webpack_require__(50); var HitDragListener_1=__webpack_require__(23); var Interaction_1=__webpack_require__(15); var EventResizing= (function (_super){ tslib_1.__extends(EventResizing, _super); function EventResizing(component, eventPointing){ var _this=_super.call(this, component)||this; _this.isResizing=false; _this.eventPointing=eventPointing; return _this; } EventResizing.prototype.end=function (){ if(this.dragListener){ this.dragListener.endInteraction(); }}; EventResizing.prototype.bindToEl=function (el){ var component=this.component; component.bindSegHandlerToEl(el, 'mousedown', this.handleMouseDown.bind(this)); component.bindSegHandlerToEl(el, 'touchstart', this.handleTouchStart.bind(this)); }; EventResizing.prototype.handleMouseDown=function (seg, ev){ if(this.component.canStartResize(seg, ev)){ this.buildDragListener(seg, $(ev.target).is('.fc-start-resizer')) .startInteraction(ev, { distance: 5 }); }}; EventResizing.prototype.handleTouchStart=function (seg, ev){ if(this.component.canStartResize(seg, ev)){ this.buildDragListener(seg, $(ev.target).is('.fc-start-resizer')) .startInteraction(ev); }}; EventResizing.prototype.buildDragListener=function (seg, isStart){ var _this=this; var component=this.component; var view=this.view; var calendar=view.calendar; var eventManager=calendar.eventManager; var el=seg.el; var eventDef=seg.footprint.eventDef; var eventInstance=seg.footprint.eventInstance; var isDragging; var resizeMutation; var dragListener=this.dragListener=new HitDragListener_1.default(component, { scroll: this.opt('dragScroll'), subjectEl: el, interactionStart: function (){ isDragging=false; }, dragStart: function (ev){ isDragging=true; _this.eventPointing.handleMouseout(seg, ev); _this.segResizeStart(seg, ev); }, hitOver: function (hit, isOrig, origHit){ var isAllowed=true; var origHitFootprint=component.getSafeHitFootprint(origHit); var hitFootprint=component.getSafeHitFootprint(hit); var mutatedEventInstanceGroup; if(origHitFootprint&&hitFootprint){ resizeMutation=isStart ? _this.computeEventStartResizeMutation(origHitFootprint, hitFootprint, seg.footprint) : _this.computeEventEndResizeMutation(origHitFootprint, hitFootprint, seg.footprint); if(resizeMutation){ mutatedEventInstanceGroup=eventManager.buildMutatedEventInstanceGroup(eventDef.id, resizeMutation); isAllowed=component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup); }else{ isAllowed=false; }}else{ isAllowed=false; } if(!isAllowed){ resizeMutation=null; util_1.disableCursor(); } else if(resizeMutation.isEmpty()){ resizeMutation=null; } if(resizeMutation){ view.hideEventsWithId(seg.footprint.eventDef.id); view.renderEventResize(component.eventRangesToEventFootprints(mutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, calendar)), seg); }}, hitOut: function (){ resizeMutation=null; }, hitDone: function (){ view.unrenderEventResize(seg); view.showEventsWithId(seg.footprint.eventDef.id); util_1.enableCursor(); }, interactionEnd: function (ev){ if(isDragging){ _this.segResizeStop(seg, ev); } if(resizeMutation){ view.reportEventResize(eventInstance, resizeMutation, el, ev); } _this.dragListener=null; }}); return dragListener; }; EventResizing.prototype.segResizeStart=function (seg, ev){ this.isResizing=true; this.component.publiclyTrigger('eventResizeStart', { context: seg.el[0], args: [ seg.footprint.getEventLegacy(), ev, {}, this.view ] }); }; EventResizing.prototype.segResizeStop=function (seg, ev){ this.isResizing=false; this.component.publiclyTrigger('eventResizeStop', { context: seg.el[0], args: [ seg.footprint.getEventLegacy(), ev, {}, this.view ] }); }; EventResizing.prototype.computeEventStartResizeMutation=function (startFootprint, endFootprint, origEventFootprint){ var origRange=origEventFootprint.componentFootprint.unzonedRange; var startDelta=this.component.diffDates(endFootprint.unzonedRange.getStart(), startFootprint.unzonedRange.getStart()); var dateMutation; var eventDefMutation; if(origRange.getStart().add(startDelta) < origRange.getEnd()){ dateMutation=new EventDefDateMutation_1.default(); dateMutation.setStartDelta(startDelta); eventDefMutation=new EventDefMutation_1.default(); eventDefMutation.setDateMutation(dateMutation); return eventDefMutation; } return false; }; EventResizing.prototype.computeEventEndResizeMutation=function (startFootprint, endFootprint, origEventFootprint){ var origRange=origEventFootprint.componentFootprint.unzonedRange; var endDelta=this.component.diffDates(endFootprint.unzonedRange.getEnd(), startFootprint.unzonedRange.getEnd()); var dateMutation; var eventDefMutation; if(origRange.getEnd().add(endDelta) > origRange.getStart()){ dateMutation=new EventDefDateMutation_1.default(); dateMutation.setEndDelta(endDelta); eventDefMutation=new EventDefMutation_1.default(); eventDefMutation.setDateMutation(dateMutation); return eventDefMutation; } return false; }; return EventResizing; }(Interaction_1.default)); exports.default=EventResizing; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var EventDefMutation_1=__webpack_require__(37); var EventDefDateMutation_1=__webpack_require__(50); var DragListener_1=__webpack_require__(54); var HitDragListener_1=__webpack_require__(23); var MouseFollower_1=__webpack_require__(244); var Interaction_1=__webpack_require__(15); var EventDragging= (function (_super){ tslib_1.__extends(EventDragging, _super); function EventDragging(component, eventPointing){ var _this=_super.call(this, component)||this; _this.isDragging=false; _this.eventPointing=eventPointing; return _this; } EventDragging.prototype.end=function (){ if(this.dragListener){ this.dragListener.endInteraction(); }}; EventDragging.prototype.getSelectionDelay=function (){ var delay=this.opt('eventLongPressDelay'); if(delay==null){ delay=this.opt('longPressDelay'); } return delay; }; EventDragging.prototype.bindToEl=function (el){ var component=this.component; component.bindSegHandlerToEl(el, 'mousedown', this.handleMousedown.bind(this)); component.bindSegHandlerToEl(el, 'touchstart', this.handleTouchStart.bind(this)); }; EventDragging.prototype.handleMousedown=function (seg, ev){ if(!this.component.shouldIgnoreMouse() && this.component.canStartDrag(seg, ev)){ this.buildDragListener(seg).startInteraction(ev, { distance: 5 }); }}; EventDragging.prototype.handleTouchStart=function (seg, ev){ var component=this.component; var settings={ delay: this.view.isEventDefSelected(seg.footprint.eventDef) ? 0:this.getSelectionDelay() }; if(component.canStartDrag(seg, ev)){ this.buildDragListener(seg).startInteraction(ev, settings); } else if(component.canStartSelection(seg, ev)){ this.buildSelectListener(seg).startInteraction(ev, settings); }}; EventDragging.prototype.buildSelectListener=function (seg){ var _this=this; var view=this.view; var eventDef=seg.footprint.eventDef; var eventInstance=seg.footprint.eventInstance; if(this.dragListener){ return this.dragListener; } var dragListener=this.dragListener=new DragListener_1.default({ dragStart: function (ev){ if(dragListener.isTouch && !view.isEventDefSelected(eventDef) && eventInstance){ view.selectEventInstance(eventInstance); }}, interactionEnd: function (ev){ _this.dragListener=null; }}); return dragListener; }; EventDragging.prototype.buildDragListener=function (seg){ var _this=this; var component=this.component; var view=this.view; var calendar=view.calendar; var eventManager=calendar.eventManager; var el=seg.el; var eventDef=seg.footprint.eventDef; var eventInstance=seg.footprint.eventInstance; var isDragging; var mouseFollower; var eventDefMutation; if(this.dragListener){ return this.dragListener; } var dragListener=this.dragListener=new HitDragListener_1.default(view, { scroll: this.opt('dragScroll'), subjectEl: el, subjectCenter: true, interactionStart: function (ev){ seg.component=component; isDragging=false; mouseFollower=new MouseFollower_1.default(seg.el, { additionalClass: 'fc-dragging', parentEl: view.el, opacity: dragListener.isTouch ? null:_this.opt('dragOpacity'), revertDuration: _this.opt('dragRevertDuration'), zIndex: 2 }); mouseFollower.hide(); mouseFollower.start(ev); }, dragStart: function (ev){ if(dragListener.isTouch && !view.isEventDefSelected(eventDef) && eventInstance){ view.selectEventInstance(eventInstance); } isDragging=true; _this.eventPointing.handleMouseout(seg, ev); _this.segDragStart(seg, ev); view.hideEventsWithId(seg.footprint.eventDef.id); }, hitOver: function (hit, isOrig, origHit){ var isAllowed=true; var origFootprint; var footprint; var mutatedEventInstanceGroup; if(seg.hit){ origHit=seg.hit; } origFootprint=origHit.component.getSafeHitFootprint(origHit); footprint=hit.component.getSafeHitFootprint(hit); if(origFootprint&&footprint){ eventDefMutation=_this.computeEventDropMutation(origFootprint, footprint, eventDef); if(eventDefMutation){ mutatedEventInstanceGroup=eventManager.buildMutatedEventInstanceGroup(eventDef.id, eventDefMutation); isAllowed=component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup); }else{ isAllowed=false; }}else{ isAllowed=false; } if(!isAllowed){ eventDefMutation=null; util_1.disableCursor(); } if(eventDefMutation && view.renderDrag(component.eventRangesToEventFootprints(mutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, calendar)), seg, dragListener.isTouch)){ mouseFollower.hide(); }else{ mouseFollower.show(); } if(isOrig){ eventDefMutation=null; }}, hitOut: function (){ view.unrenderDrag(seg); mouseFollower.show(); eventDefMutation=null; }, hitDone: function (){ util_1.enableCursor(); }, interactionEnd: function (ev){ delete seg.component; mouseFollower.stop(!eventDefMutation, function (){ if(isDragging){ view.unrenderDrag(seg); _this.segDragStop(seg, ev); } view.showEventsWithId(seg.footprint.eventDef.id); if(eventDefMutation){ view.reportEventDrop(eventInstance, eventDefMutation, el, ev); }}); _this.dragListener=null; }}); return dragListener; }; EventDragging.prototype.segDragStart=function (seg, ev){ this.isDragging=true; this.component.publiclyTrigger('eventDragStart', { context: seg.el[0], args: [ seg.footprint.getEventLegacy(), ev, {}, this.view ] }); }; EventDragging.prototype.segDragStop=function (seg, ev){ this.isDragging=false; this.component.publiclyTrigger('eventDragStop', { context: seg.el[0], args: [ seg.footprint.getEventLegacy(), ev, {}, this.view ] }); }; EventDragging.prototype.computeEventDropMutation=function (startFootprint, endFootprint, eventDef){ var eventDefMutation=new EventDefMutation_1.default(); eventDefMutation.setDateMutation(this.computeEventDateMutation(startFootprint, endFootprint)); return eventDefMutation; }; EventDragging.prototype.computeEventDateMutation=function (startFootprint, endFootprint){ var date0=startFootprint.unzonedRange.getStart(); var date1=endFootprint.unzonedRange.getStart(); var clearEnd=false; var forceTimed=false; var forceAllDay=false; var dateDelta; var dateMutation; if(startFootprint.isAllDay!==endFootprint.isAllDay){ clearEnd=true; if(endFootprint.isAllDay){ forceAllDay=true; date0.stripTime(); }else{ forceTimed=true; }} dateDelta=this.component.diffDates(date1, date0); dateMutation=new EventDefDateMutation_1.default(); dateMutation.clearEnd=clearEnd; dateMutation.forceTimed=forceTimed; dateMutation.forceAllDay=forceAllDay; dateMutation.setDateDelta(dateDelta); return dateMutation; }; return EventDragging; }(Interaction_1.default)); exports.default=EventDragging; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var HitDragListener_1=__webpack_require__(23); var ComponentFootprint_1=__webpack_require__(12); var UnzonedRange_1=__webpack_require__(5); var Interaction_1=__webpack_require__(15); var DateSelecting= (function (_super){ tslib_1.__extends(DateSelecting, _super); function DateSelecting(component){ var _this=_super.call(this, component)||this; _this.dragListener=_this.buildDragListener(); return _this; } DateSelecting.prototype.end=function (){ this.dragListener.endInteraction(); }; DateSelecting.prototype.getDelay=function (){ var delay=this.opt('selectLongPressDelay'); if(delay==null){ delay=this.opt('longPressDelay'); } return delay; }; DateSelecting.prototype.bindToEl=function (el){ var _this=this; var component=this.component; var dragListener=this.dragListener; component.bindDateHandlerToEl(el, 'mousedown', function (ev){ if(_this.opt('selectable')&&!component.shouldIgnoreMouse()){ dragListener.startInteraction(ev, { distance: _this.opt('selectMinDistance') }); }}); component.bindDateHandlerToEl(el, 'touchstart', function (ev){ if(_this.opt('selectable')&&!component.shouldIgnoreTouch()){ dragListener.startInteraction(ev, { delay: _this.getDelay() }); }}); util_1.preventSelection(el); }; DateSelecting.prototype.buildDragListener=function (){ var _this=this; var component=this.component; var selectionFootprint; var dragListener=new HitDragListener_1.default(component, { scroll: this.opt('dragScroll'), interactionStart: function (){ selectionFootprint=null; }, dragStart: function (ev){ _this.view.unselect(ev); }, hitOver: function (hit, isOrig, origHit){ var origHitFootprint; var hitFootprint; if(origHit){ origHitFootprint=component.getSafeHitFootprint(origHit); hitFootprint=component.getSafeHitFootprint(hit); if(origHitFootprint&&hitFootprint){ selectionFootprint=_this.computeSelection(origHitFootprint, hitFootprint); }else{ selectionFootprint=null; } if(selectionFootprint){ component.renderSelectionFootprint(selectionFootprint); } else if(selectionFootprint===false){ util_1.disableCursor(); }} }, hitOut: function (){ selectionFootprint=null; component.unrenderSelection(); }, hitDone: function (){ util_1.enableCursor(); }, interactionEnd: function (ev, isCancelled){ if(!isCancelled&&selectionFootprint){ _this.view.reportSelection(selectionFootprint, ev); }} }); return dragListener; }; DateSelecting.prototype.computeSelection=function (footprint0, footprint1){ var wholeFootprint=this.computeSelectionFootprint(footprint0, footprint1); if(wholeFootprint&&!this.isSelectionFootprintAllowed(wholeFootprint)){ return false; } return wholeFootprint; }; DateSelecting.prototype.computeSelectionFootprint=function (footprint0, footprint1){ var ms=[ footprint0.unzonedRange.startMs, footprint0.unzonedRange.endMs, footprint1.unzonedRange.startMs, footprint1.unzonedRange.endMs ]; ms.sort(util_1.compareNumbers); return new ComponentFootprint_1.default(new UnzonedRange_1.default(ms[0], ms[3]), footprint0.isAllDay); }; DateSelecting.prototype.isSelectionFootprintAllowed=function (componentFootprint){ return this.component.dateProfile.validUnzonedRange.containsRange(componentFootprint.unzonedRange) && this.view.calendar.constraints.isSelectionFootprintAllowed(componentFootprint); }; return DateSelecting; }(Interaction_1.default)); exports.default=DateSelecting; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var moment=__webpack_require__(0); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Scroller_1=__webpack_require__(39); var View_1=__webpack_require__(41); var TimeGrid_1=__webpack_require__(227); var DayGrid_1=__webpack_require__(61); var AGENDA_ALL_DAY_EVENT_LIMIT=5; var agendaTimeGridMethods; var agendaDayGridMethods; var AgendaView= (function (_super){ tslib_1.__extends(AgendaView, _super); function AgendaView(calendar, viewSpec){ var _this=_super.call(this, calendar, viewSpec)||this; _this.usesMinMaxTime=true; _this.timeGrid=_this.instantiateTimeGrid(); _this.addChild(_this.timeGrid); if(_this.opt('allDaySlot')){ _this.dayGrid=_this.instantiateDayGrid(); _this.addChild(_this.dayGrid); } _this.scroller=new Scroller_1.default({ overflowX: 'hidden', overflowY: 'auto' }); return _this; } AgendaView.prototype.instantiateTimeGrid=function (){ var timeGrid=new this.timeGridClass(this); util_1.copyOwnProps(agendaTimeGridMethods, timeGrid); return timeGrid; }; AgendaView.prototype.instantiateDayGrid=function (){ var dayGrid=new this.dayGridClass(this); util_1.copyOwnProps(agendaDayGridMethods, dayGrid); return dayGrid; }; AgendaView.prototype.renderSkeleton=function (){ var timeGridWrapEl; var timeGridEl; this.el.addClass('fc-agenda-view').html(this.renderSkeletonHtml()); this.scroller.render(); timeGridWrapEl=this.scroller.el.addClass('fc-time-grid-container'); timeGridEl=$('
    ').appendTo(timeGridWrapEl); this.el.find('.fc-body > tr > td').append(timeGridWrapEl); this.timeGrid.headContainerEl=this.el.find('.fc-head-container'); this.timeGrid.setElement(timeGridEl); if(this.dayGrid){ this.dayGrid.setElement(this.el.find('.fc-day-grid')); this.dayGrid.bottomCoordPadding=this.dayGrid.el.next('hr').outerHeight(); }}; AgendaView.prototype.unrenderSkeleton=function (){ this.timeGrid.removeElement(); if(this.dayGrid){ this.dayGrid.removeElement(); } this.scroller.destroy(); }; AgendaView.prototype.renderSkeletonHtml=function (){ var theme=this.calendar.theme; return '' + '' + (this.opt('columnHeader') ? '' + '' + '' + '' + '' : '') + '' + '' + '' + '' + '' + '
     
    ' + (this.dayGrid ? '
    ' + '
    ' : '') + '
    '; }; AgendaView.prototype.axisStyleAttr=function (){ if(this.axisWidth!=null){ return 'style="width:' + this.axisWidth + 'px"'; } return ''; }; AgendaView.prototype.getNowIndicatorUnit=function (){ return this.timeGrid.getNowIndicatorUnit(); }; AgendaView.prototype.updateSize=function (totalHeight, isAuto, isResize){ var eventLimit; var scrollerHeight; var scrollbarWidths; _super.prototype.updateSize.call(this, totalHeight, isAuto, isResize); this.axisWidth=util_1.matchCellWidths(this.el.find('.fc-axis')); if(!this.timeGrid.colEls){ if(!isAuto){ scrollerHeight=this.computeScrollerHeight(totalHeight); this.scroller.setHeight(scrollerHeight); } return; } var noScrollRowEls=this.el.find('.fc-row:not(.fc-scroller *)'); this.timeGrid.bottomRuleEl.hide(); this.scroller.clear(); util_1.uncompensateScroll(noScrollRowEls); if(this.dayGrid){ this.dayGrid.removeSegPopover(); eventLimit=this.opt('eventLimit'); if(eventLimit&&typeof eventLimit!=='number'){ eventLimit=AGENDA_ALL_DAY_EVENT_LIMIT; } if(eventLimit){ this.dayGrid.limitRows(eventLimit); }} if(!isAuto){ scrollerHeight=this.computeScrollerHeight(totalHeight); this.scroller.setHeight(scrollerHeight); scrollbarWidths=this.scroller.getScrollbarWidths(); if(scrollbarWidths.left||scrollbarWidths.right){ util_1.compensateScroll(noScrollRowEls, scrollbarWidths); scrollerHeight=this.computeScrollerHeight(totalHeight); this.scroller.setHeight(scrollerHeight); } this.scroller.lockOverflow(scrollbarWidths); if(this.timeGrid.getTotalSlatHeight() < scrollerHeight){ this.timeGrid.bottomRuleEl.show(); }} }; AgendaView.prototype.computeScrollerHeight=function (totalHeight){ return totalHeight - util_1.subtractInnerElHeight(this.el, this.scroller.el); }; AgendaView.prototype.computeInitialDateScroll=function (){ var scrollTime=moment.duration(this.opt('scrollTime')); var top=this.timeGrid.computeTimeTop(scrollTime); top=Math.ceil(top); if(top){ top++; } return { top: top };}; AgendaView.prototype.queryDateScroll=function (){ return { top: this.scroller.getScrollTop() };}; AgendaView.prototype.applyDateScroll=function (scroll){ if(scroll.top!==undefined){ this.scroller.setScrollTop(scroll.top); }}; AgendaView.prototype.getHitFootprint=function (hit){ return hit.component.getHitFootprint(hit); }; AgendaView.prototype.getHitEl=function (hit){ return hit.component.getHitEl(hit); }; AgendaView.prototype.executeEventRender=function (eventsPayload){ var dayEventsPayload={}; var timedEventsPayload={}; var id; var eventInstanceGroup; for (id in eventsPayload){ eventInstanceGroup=eventsPayload[id]; if(eventInstanceGroup.getEventDef().isAllDay()){ dayEventsPayload[id]=eventInstanceGroup; }else{ timedEventsPayload[id]=eventInstanceGroup; }} this.timeGrid.executeEventRender(timedEventsPayload); if(this.dayGrid){ this.dayGrid.executeEventRender(dayEventsPayload); }}; AgendaView.prototype.renderDrag=function (eventFootprints, seg, isTouch){ var groups=groupEventFootprintsByAllDay(eventFootprints); var renderedHelper=false; renderedHelper=this.timeGrid.renderDrag(groups.timed, seg, isTouch); if(this.dayGrid){ renderedHelper=this.dayGrid.renderDrag(groups.allDay, seg, isTouch)||renderedHelper; } return renderedHelper; }; AgendaView.prototype.renderEventResize=function (eventFootprints, seg, isTouch){ var groups=groupEventFootprintsByAllDay(eventFootprints); this.timeGrid.renderEventResize(groups.timed, seg, isTouch); if(this.dayGrid){ this.dayGrid.renderEventResize(groups.allDay, seg, isTouch); }}; AgendaView.prototype.renderSelectionFootprint=function (componentFootprint){ if(!componentFootprint.isAllDay){ this.timeGrid.renderSelectionFootprint(componentFootprint); } else if(this.dayGrid){ this.dayGrid.renderSelectionFootprint(componentFootprint); }}; return AgendaView; }(View_1.default)); exports.default=AgendaView; AgendaView.prototype.timeGridClass=TimeGrid_1.default; AgendaView.prototype.dayGridClass=DayGrid_1.default; agendaTimeGridMethods={ renderHeadIntroHtml: function (){ var view=this.view; var calendar=view.calendar; var weekStart=calendar.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs, true); var weekText; if(this.opt('weekNumbers')){ weekText=weekStart.format(this.opt('smallWeekFormat')); return '' + '' + view.buildGotoAnchorHtml({ date: weekStart, type: 'week', forceOff: this.colCnt > 1 }, util_1.htmlEscape(weekText) ) + ''; }else{ return ''; }}, renderBgIntroHtml: function (){ var view=this.view; return ''; }, renderIntroHtml: function (){ var view=this.view; return ''; }}; agendaDayGridMethods={ renderBgIntroHtml: function (){ var view=this.view; return '' + '' + '' + view.getAllDayHtml() + '' + ''; }, renderIntroHtml: function (){ var view=this.view; return ''; }}; function groupEventFootprintsByAllDay(eventFootprints){ var allDay=[]; var timed=[]; var i; for (i=0; i < eventFootprints.length; i++){ if(eventFootprints[i].componentFootprint.isAllDay){ allDay.push(eventFootprints[i]); }else{ timed.push(eventFootprints[i]); }} return { allDay: allDay, timed: timed };} }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var InteractiveDateComponent_1=__webpack_require__(40); var BusinessHourRenderer_1=__webpack_require__(56); var StandardInteractionsMixin_1=__webpack_require__(60); var DayTableMixin_1=__webpack_require__(55); var CoordCache_1=__webpack_require__(53); var UnzonedRange_1=__webpack_require__(5); var ComponentFootprint_1=__webpack_require__(12); var TimeGridEventRenderer_1=__webpack_require__(246); var TimeGridHelperRenderer_1=__webpack_require__(247); var TimeGridFillRenderer_1=__webpack_require__(248); var AGENDA_STOCK_SUB_DURATIONS=[ { hours: 1 }, { minutes: 30 }, { minutes: 15 }, { seconds: 30 }, { seconds: 15 } ]; var TimeGrid= (function (_super){ tslib_1.__extends(TimeGrid, _super); function TimeGrid(view){ var _this=_super.call(this, view)||this; _this.processOptions(); return _this; } TimeGrid.prototype.componentFootprintToSegs=function (componentFootprint){ var segs=this.sliceRangeByTimes(componentFootprint.unzonedRange); var i; for (i=0; i < segs.length; i++){ if(this.isRTL){ segs[i].col=this.daysPerRow - 1 - segs[i].dayIndex; }else{ segs[i].col=segs[i].dayIndex; }} return segs; }; TimeGrid.prototype.sliceRangeByTimes=function (unzonedRange){ var segs=[]; var segRange; var dayIndex; for (dayIndex=0; dayIndex < this.daysPerRow; dayIndex++){ segRange=unzonedRange.intersect(this.dayRanges[dayIndex]); if(segRange){ segs.push({ startMs: segRange.startMs, endMs: segRange.endMs, isStart: segRange.isStart, isEnd: segRange.isEnd, dayIndex: dayIndex }); }} return segs; }; TimeGrid.prototype.processOptions=function (){ var slotDuration=this.opt('slotDuration'); var snapDuration=this.opt('snapDuration'); var input; slotDuration=moment.duration(slotDuration); snapDuration=snapDuration ? moment.duration(snapDuration):slotDuration; this.slotDuration=slotDuration; this.snapDuration=snapDuration; this.snapsPerSlot=slotDuration / snapDuration; input=this.opt('slotLabelFormat'); if($.isArray(input)){ input=input[input.length - 1]; } this.labelFormat=input || this.opt('smallTimeFormat'); input=this.opt('slotLabelInterval'); this.labelInterval=input ? moment.duration(input) : this.computeLabelInterval(slotDuration); }; TimeGrid.prototype.computeLabelInterval=function (slotDuration){ var i; var labelInterval; var slotsPerLabel; for (i=AGENDA_STOCK_SUB_DURATIONS.length - 1; i >=0; i--){ labelInterval=moment.duration(AGENDA_STOCK_SUB_DURATIONS[i]); slotsPerLabel=util_1.divideDurationByDuration(labelInterval, slotDuration); if(util_1.isInt(slotsPerLabel)&&slotsPerLabel > 1){ return labelInterval; }} return moment.duration(slotDuration); }; TimeGrid.prototype.renderDates=function (dateProfile){ this.dateProfile=dateProfile; this.updateDayTable(); this.renderSlats(); this.renderColumns(); }; TimeGrid.prototype.unrenderDates=function (){ this.unrenderColumns(); }; TimeGrid.prototype.renderSkeleton=function (){ var theme=this.view.calendar.theme; this.el.html('
    ' + '
    ' + ''); this.bottomRuleEl=this.el.find('hr'); }; TimeGrid.prototype.renderSlats=function (){ var theme=this.view.calendar.theme; this.slatContainerEl=this.el.find('> .fc-slats') .html('' + this.renderSlatRowHtml() + '
    '); this.slatEls=this.slatContainerEl.find('tr'); this.slatCoordCache=new CoordCache_1.default({ els: this.slatEls, isVertical: true }); }; TimeGrid.prototype.renderSlatRowHtml=function (){ var view=this.view; var calendar=view.calendar; var theme=calendar.theme; var isRTL=this.isRTL; var dateProfile=this.dateProfile; var html=''; var slotTime=moment.duration(+dateProfile.minTime); var slotIterator=moment.duration(0); var slotDate; var isLabeled; var axisHtml; while (slotTime < dateProfile.maxTime){ slotDate=calendar.msToUtcMoment(dateProfile.renderUnzonedRange.startMs).time(slotTime); isLabeled=util_1.isInt(util_1.divideDurationByDuration(slotIterator, this.labelInterval)); axisHtml = '' + (isLabeled ? '' + util_1.htmlEscape(slotDate.format(this.labelFormat)) + '' : '') + ''; html += '' + (!isRTL ? axisHtml:'') + '' + (isRTL ? axisHtml:'') + ''; slotTime.add(this.slotDuration); slotIterator.add(this.slotDuration); } return html; }; TimeGrid.prototype.renderColumns=function (){ var dateProfile=this.dateProfile; var theme=this.view.calendar.theme; this.dayRanges=this.dayDates.map(function (dayDate){ return new UnzonedRange_1.default(dayDate.clone().add(dateProfile.minTime), dayDate.clone().add(dateProfile.maxTime)); }); if(this.headContainerEl){ this.headContainerEl.html(this.renderHeadHtml()); } this.el.find('> .fc-bg').html('' + this.renderBgTrHtml(0) + '
    '); this.colEls=this.el.find('.fc-day, .fc-disabled-day'); this.colCoordCache=new CoordCache_1.default({ els: this.colEls, isHorizontal: true }); this.renderContentSkeleton(); }; TimeGrid.prototype.unrenderColumns=function (){ this.unrenderContentSkeleton(); }; TimeGrid.prototype.renderContentSkeleton=function (){ var cellHtml=''; var i; var skeletonEl; for (i=0; i < this.colCnt; i++){ cellHtml += '' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + ''; } skeletonEl=this.contentSkeletonEl=$('
    ' + '' + '' + cellHtml + '' + '
    ' + '
    '); this.colContainerEls=skeletonEl.find('.fc-content-col'); this.helperContainerEls=skeletonEl.find('.fc-helper-container'); this.fgContainerEls=skeletonEl.find('.fc-event-container:not(.fc-helper-container)'); this.bgContainerEls=skeletonEl.find('.fc-bgevent-container'); this.highlightContainerEls=skeletonEl.find('.fc-highlight-container'); this.businessContainerEls=skeletonEl.find('.fc-business-container'); this.bookendCells(skeletonEl.find('tr')); this.el.append(skeletonEl); }; TimeGrid.prototype.unrenderContentSkeleton=function (){ if(this.contentSkeletonEl){ this.contentSkeletonEl.remove(); this.contentSkeletonEl=null; this.colContainerEls=null; this.helperContainerEls=null; this.fgContainerEls=null; this.bgContainerEls=null; this.highlightContainerEls=null; this.businessContainerEls=null; }}; TimeGrid.prototype.groupSegsByCol=function (segs){ var segsByCol=[]; var i; for (i=0; i < this.colCnt; i++){ segsByCol.push([]); } for (i=0; i < segs.length; i++){ segsByCol[segs[i].col].push(segs[i]); } return segsByCol; }; TimeGrid.prototype.attachSegsByCol=function (segsByCol, containerEls){ var col; var segs; var i; for (col=0; col < this.colCnt; col++){ segs=segsByCol[col]; for (i=0; i < segs.length; i++){ containerEls.eq(col).append(segs[i].el); }} }; TimeGrid.prototype.getNowIndicatorUnit=function (){ return 'minute'; }; TimeGrid.prototype.renderNowIndicator=function (date){ if(!this.colContainerEls){ return; } var segs=this.componentFootprintToSegs(new ComponentFootprint_1.default(new UnzonedRange_1.default(date, date.valueOf() + 1), false )); var top=this.computeDateTop(date, date); var nodes=[]; var i; for (i=0; i < segs.length; i++){ nodes.push($('
    ') .css('top', top) .appendTo(this.colContainerEls.eq(segs[i].col))[0]); } if(segs.length > 0){ nodes.push($('
    ') .css('top', top) .appendTo(this.el.find('.fc-content-skeleton'))[0]); } this.nowIndicatorEls=$(nodes); }; TimeGrid.prototype.unrenderNowIndicator=function (){ if(this.nowIndicatorEls){ this.nowIndicatorEls.remove(); this.nowIndicatorEls=null; }}; TimeGrid.prototype.updateSize=function (totalHeight, isAuto, isResize){ _super.prototype.updateSize.call(this, totalHeight, isAuto, isResize); this.slatCoordCache.build(); if(isResize){ this.updateSegVerticals([].concat(this.eventRenderer.getSegs(), this.businessSegs||[])); }}; TimeGrid.prototype.getTotalSlatHeight=function (){ return this.slatContainerEl.outerHeight(); }; TimeGrid.prototype.computeDateTop=function (ms, startOfDayDate){ return this.computeTimeTop(moment.duration(ms - startOfDayDate.clone().stripTime())); }; TimeGrid.prototype.computeTimeTop=function (time){ var len=this.slatEls.length; var dateProfile=this.dateProfile; var slatCoverage=(time - dateProfile.minTime) / this.slotDuration; var slatIndex; var slatRemainder; slatCoverage=Math.max(0, slatCoverage); slatCoverage=Math.min(len, slatCoverage); slatIndex=Math.floor(slatCoverage); slatIndex=Math.min(slatIndex, len - 1); slatRemainder=slatCoverage - slatIndex; return this.slatCoordCache.getTopPosition(slatIndex) + this.slatCoordCache.getHeight(slatIndex) * slatRemainder; }; TimeGrid.prototype.updateSegVerticals=function (segs){ this.computeSegVerticals(segs); this.assignSegVerticals(segs); }; TimeGrid.prototype.computeSegVerticals=function (segs){ var eventMinHeight=this.opt('agendaEventMinHeight'); var i; var seg; var dayDate; for (i=0; i < segs.length; i++){ seg=segs[i]; dayDate=this.dayDates[seg.dayIndex]; seg.top=this.computeDateTop(seg.startMs, dayDate); seg.bottom=Math.max(seg.top + eventMinHeight, this.computeDateTop(seg.endMs, dayDate)); }}; TimeGrid.prototype.assignSegVerticals=function (segs){ var i; var seg; for (i=0; i < segs.length; i++){ seg=segs[i]; seg.el.css(this.generateSegVerticalCss(seg)); }}; TimeGrid.prototype.generateSegVerticalCss=function (seg){ return { top: seg.top, bottom: -seg.bottom };}; TimeGrid.prototype.prepareHits=function (){ this.colCoordCache.build(); this.slatCoordCache.build(); }; TimeGrid.prototype.releaseHits=function (){ this.colCoordCache.clear(); }; TimeGrid.prototype.queryHit=function (leftOffset, topOffset){ var snapsPerSlot=this.snapsPerSlot; var colCoordCache=this.colCoordCache; var slatCoordCache=this.slatCoordCache; if(colCoordCache.isLeftInBounds(leftOffset)&&slatCoordCache.isTopInBounds(topOffset)){ var colIndex=colCoordCache.getHorizontalIndex(leftOffset); var slatIndex=slatCoordCache.getVerticalIndex(topOffset); if(colIndex!=null&&slatIndex!=null){ var slatTop=slatCoordCache.getTopOffset(slatIndex); var slatHeight=slatCoordCache.getHeight(slatIndex); var partial=(topOffset - slatTop) / slatHeight; var localSnapIndex=Math.floor(partial * snapsPerSlot); var snapIndex=slatIndex * snapsPerSlot + localSnapIndex; var snapTop=slatTop + (localSnapIndex / snapsPerSlot) * slatHeight; var snapBottom=slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight; return { col: colIndex, snap: snapIndex, component: this, left: colCoordCache.getLeftOffset(colIndex), right: colCoordCache.getRightOffset(colIndex), top: snapTop, bottom: snapBottom };}} }; TimeGrid.prototype.getHitFootprint=function (hit){ var start=this.getCellDate(0, hit.col); var time=this.computeSnapTime(hit.snap); var end; start.time(time); end=start.clone().add(this.snapDuration); return new ComponentFootprint_1.default(new UnzonedRange_1.default(start, end), false ); }; TimeGrid.prototype.computeSnapTime=function (snapIndex){ return moment.duration(this.dateProfile.minTime + this.snapDuration * snapIndex); }; TimeGrid.prototype.getHitEl=function (hit){ return this.colEls.eq(hit.col); }; TimeGrid.prototype.renderDrag=function (eventFootprints, seg, isTouch){ var i; if(seg){ if(eventFootprints.length){ this.helperRenderer.renderEventDraggingFootprints(eventFootprints, seg, isTouch); return true; }}else{ for (i=0; i < eventFootprints.length; i++){ this.renderHighlight(eventFootprints[i].componentFootprint); }} }; TimeGrid.prototype.unrenderDrag=function (){ this.unrenderHighlight(); this.helperRenderer.unrender(); }; TimeGrid.prototype.renderEventResize=function (eventFootprints, seg, isTouch){ this.helperRenderer.renderEventResizingFootprints(eventFootprints, seg, isTouch); }; TimeGrid.prototype.unrenderEventResize=function (){ this.helperRenderer.unrender(); }; TimeGrid.prototype.renderSelectionFootprint=function (componentFootprint){ if(this.opt('selectHelper')){ this.helperRenderer.renderComponentFootprint(componentFootprint); }else{ this.renderHighlight(componentFootprint); }}; TimeGrid.prototype.unrenderSelection=function (){ this.helperRenderer.unrender(); this.unrenderHighlight(); }; return TimeGrid; }(InteractiveDateComponent_1.default)); exports.default=TimeGrid; TimeGrid.prototype.eventRendererClass=TimeGridEventRenderer_1.default; TimeGrid.prototype.businessHourRendererClass=BusinessHourRenderer_1.default; TimeGrid.prototype.helperRendererClass=TimeGridHelperRenderer_1.default; TimeGrid.prototype.fillRendererClass=TimeGridFillRenderer_1.default; StandardInteractionsMixin_1.default.mixInto(TimeGrid); DayTableMixin_1.default.mixInto(TimeGrid); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var UnzonedRange_1=__webpack_require__(5); var DateProfileGenerator_1=__webpack_require__(221); var BasicViewDateProfileGenerator= (function (_super){ tslib_1.__extends(BasicViewDateProfileGenerator, _super); function BasicViewDateProfileGenerator(){ return _super!==null&&_super.apply(this, arguments)||this; } BasicViewDateProfileGenerator.prototype.buildRenderRange=function (currentUnzonedRange, currentRangeUnit, isRangeAllDay){ var renderUnzonedRange=_super.prototype.buildRenderRange.call(this, currentUnzonedRange, currentRangeUnit, isRangeAllDay); var start=this.msToUtcMoment(renderUnzonedRange.startMs, isRangeAllDay); var end=this.msToUtcMoment(renderUnzonedRange.endMs, isRangeAllDay); if(/^(year|month)$/.test(currentRangeUnit)){ start.startOf('week'); if(end.weekday()){ end.add(1, 'week').startOf('week'); }} return new UnzonedRange_1.default(start, end); }; return BasicViewDateProfileGenerator; }(DateProfileGenerator_1.default)); exports.default=BasicViewDateProfileGenerator; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var moment=__webpack_require__(0); var util_1=__webpack_require__(4); var BasicView_1=__webpack_require__(62); var MonthViewDateProfileGenerator_1=__webpack_require__(253); var MonthView= (function (_super){ tslib_1.__extends(MonthView, _super); function MonthView(){ return _super!==null&&_super.apply(this, arguments)||this; } MonthView.prototype.setGridHeight=function (height, isAuto){ if(isAuto){ height *=this.dayGrid.rowCnt / 6; } util_1.distributeHeight(this.dayGrid.rowEls, height, !isAuto); }; MonthView.prototype.isDateInOtherMonth=function (date, dateProfile){ return date.month()!==moment.utc(dateProfile.currentUnzonedRange.startMs).month(); }; return MonthView; }(BasicView_1.default)); exports.default=MonthView; MonthView.prototype.dateProfileGeneratorClass=MonthViewDateProfileGenerator_1.default; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var UnzonedRange_1=__webpack_require__(5); var View_1=__webpack_require__(41); var Scroller_1=__webpack_require__(39); var ListEventRenderer_1=__webpack_require__(254); var ListEventPointing_1=__webpack_require__(255); var ListView= (function (_super){ tslib_1.__extends(ListView, _super); function ListView(calendar, viewSpec){ var _this=_super.call(this, calendar, viewSpec)||this; _this.segSelector='.fc-list-item'; _this.scroller=new Scroller_1.default({ overflowX: 'hidden', overflowY: 'auto' }); return _this; } ListView.prototype.renderSkeleton=function (){ this.el.addClass('fc-list-view ' + this.calendar.theme.getClass('listView')); this.scroller.render(); this.scroller.el.appendTo(this.el); this.contentEl=this.scroller.scrollEl; }; ListView.prototype.unrenderSkeleton=function (){ this.scroller.destroy(); }; ListView.prototype.updateSize=function (totalHeight, isAuto, isResize){ _super.prototype.updateSize.call(this, totalHeight, isAuto, isResize); this.scroller.clear(); if(!isAuto){ this.scroller.setHeight(this.computeScrollerHeight(totalHeight)); }}; ListView.prototype.computeScrollerHeight=function (totalHeight){ return totalHeight - util_1.subtractInnerElHeight(this.el, this.scroller.el); }; ListView.prototype.renderDates=function (dateProfile){ var calendar=this.calendar; var dayStart=calendar.msToUtcMoment(dateProfile.renderUnzonedRange.startMs, true); var viewEnd=calendar.msToUtcMoment(dateProfile.renderUnzonedRange.endMs, true); var dayDates=[]; var dayRanges=[]; while (dayStart < viewEnd){ dayDates.push(dayStart.clone()); dayRanges.push(new UnzonedRange_1.default(dayStart, dayStart.clone().add(1, 'day'))); dayStart.add(1, 'day'); } this.dayDates=dayDates; this.dayRanges=dayRanges; }; ListView.prototype.componentFootprintToSegs=function (footprint){ var dayRanges=this.dayRanges; var dayIndex; var segRange; var seg; var segs=[]; for (dayIndex=0; dayIndex < dayRanges.length; dayIndex++){ segRange=footprint.unzonedRange.intersect(dayRanges[dayIndex]); if(segRange){ seg={ startMs: segRange.startMs, endMs: segRange.endMs, isStart: segRange.isStart, isEnd: segRange.isEnd, dayIndex: dayIndex }; segs.push(seg); if(!seg.isEnd&&!footprint.isAllDay && dayIndex + 1 < dayRanges.length && footprint.unzonedRange.endMs < dayRanges[dayIndex + 1].startMs + this.nextDayThreshold){ seg.endMs=footprint.unzonedRange.endMs; seg.isEnd=true; break; }} } return segs; }; ListView.prototype.renderEmptyMessage=function (){ this.contentEl.html('
    ' + '
    ' + '
    ' + util_1.htmlEscape(this.opt('noEventsMessage')) + '
    ' + '
    ' + '
    '); }; ListView.prototype.renderSegList=function (allSegs){ var segsByDay=this.groupSegsByDay(allSegs); var dayIndex; var daySegs; var i; var tableEl=$('
    '); var tbodyEl=tableEl.find('tbody'); for (dayIndex=0; dayIndex < segsByDay.length; dayIndex++){ daySegs=segsByDay[dayIndex]; if(daySegs){ tbodyEl.append(this.dayHeaderHtml(this.dayDates[dayIndex])); this.eventRenderer.sortEventSegs(daySegs); for (i=0; i < daySegs.length; i++){ tbodyEl.append(daySegs[i].el); }} } this.contentEl.empty().append(tableEl); }; ListView.prototype.groupSegsByDay=function (segs){ var segsByDay=[]; var i; var seg; for (i=0; i < segs.length; i++){ seg=segs[i]; (segsByDay[seg.dayIndex]||(segsByDay[seg.dayIndex]=[])) .push(seg); } return segsByDay; }; ListView.prototype.dayHeaderHtml=function (dayDate){ var mainFormat=this.opt('listDayFormat'); var altFormat=this.opt('listDayAltFormat'); return '' + '' + (mainFormat ? this.buildGotoAnchorHtml(dayDate, { 'class': 'fc-list-heading-main' }, util_1.htmlEscape(dayDate.format(mainFormat)) ) : '') + (altFormat ? this.buildGotoAnchorHtml(dayDate, { 'class': 'fc-list-heading-alt' }, util_1.htmlEscape(dayDate.format(altFormat)) ) : '') + '' + ''; }; return ListView; }(View_1.default)); exports.default=ListView; ListView.prototype.eventRendererClass=ListEventRenderer_1.default; ListView.prototype.eventPointingClass=ListEventPointing_1.default; }), , , , , , (function(module, exports, __webpack_require__){ var $=__webpack_require__(3); var exportHooks=__webpack_require__(16); var util_1=__webpack_require__(4); var Calendar_1=__webpack_require__(220); __webpack_require__(10); __webpack_require__(47); __webpack_require__(256); __webpack_require__(257); __webpack_require__(260); __webpack_require__(261); __webpack_require__(262); __webpack_require__(263); $.fullCalendar=exportHooks; $.fn.fullCalendar=function (options){ var args=Array.prototype.slice.call(arguments, 1); var res=this; this.each(function (i, _element){ var element=$(_element); var calendar=element.data('fullCalendar'); var singleRes; if(typeof options==='string'){ if(options==='getCalendar'){ if(!i){ res=calendar; }} else if(options==='destroy'){ if(calendar){ calendar.destroy(); element.removeData('fullCalendar'); }} else if(!calendar){ util_1.warn('Attempting to call a FullCalendar method on an element with no calendar.'); } else if($.isFunction(calendar[options])){ singleRes=calendar[options].apply(calendar, args); if(!i){ res=singleRes; } if(options==='destroy'){ element.removeData('fullCalendar'); }}else{ util_1.warn("'" + options + "' is an unknown FullCalendar method."); }} else if(!calendar){ calendar=new Calendar_1.default(element, options); element.data('fullCalendar', calendar); calendar.render(); }}); return res; }; module.exports=exportHooks; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Model_1=__webpack_require__(48); var Component= (function (_super){ tslib_1.__extends(Component, _super); function Component(){ return _super!==null&&_super.apply(this, arguments)||this; } Component.prototype.setElement=function (el){ this.el=el; this.bindGlobalHandlers(); this.renderSkeleton(); this.set('isInDom', true); }; Component.prototype.removeElement=function (){ this.unset('isInDom'); this.unrenderSkeleton(); this.unbindGlobalHandlers(); this.el.remove(); }; Component.prototype.bindGlobalHandlers=function (){ }; Component.prototype.unbindGlobalHandlers=function (){ }; Component.prototype.renderSkeleton=function (){ }; Component.prototype.unrenderSkeleton=function (){ }; return Component; }(Model_1.default)); exports.default=Component; }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); var Iterator= (function (){ function Iterator(items){ this.items=items||[]; } Iterator.prototype.proxyCall=function (methodName){ var args=[]; for (var _i=1; _i < arguments.length; _i++){ args[_i - 1]=arguments[_i]; } var results=[]; this.items.forEach(function (item){ results.push(item[methodName].apply(item, args)); }); return results; }; return Iterator; }()); exports.default=Iterator; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Toolbar= (function (){ function Toolbar(calendar, toolbarOptions){ this.el=null; this.viewsWithButtons=[]; this.calendar=calendar; this.toolbarOptions=toolbarOptions; } Toolbar.prototype.setToolbarOptions=function (newToolbarOptions){ this.toolbarOptions=newToolbarOptions; }; Toolbar.prototype.render=function (){ var sections=this.toolbarOptions.layout; var el=this.el; if(sections){ if(!el){ el=this.el=$("
    "); }else{ el.empty(); } el.append(this.renderSection('left')) .append(this.renderSection('right')) .append(this.renderSection('center')) .append('
    '); }else{ this.removeElement(); }}; Toolbar.prototype.removeElement=function (){ if(this.el){ this.el.remove(); this.el=null; }}; Toolbar.prototype.renderSection=function (position){ var _this=this; var calendar=this.calendar; var theme=calendar.theme; var optionsManager=calendar.optionsManager; var viewSpecManager=calendar.viewSpecManager; var sectionEl=$('
    '); var buttonStr=this.toolbarOptions.layout[position]; var calendarCustomButtons=optionsManager.get('customButtons')||{}; var calendarButtonTextOverrides=optionsManager.overrides.buttonText||{}; var calendarButtonText=optionsManager.get('buttonText')||{}; if(buttonStr){ $.each(buttonStr.split(' '), function (i, buttonGroupStr){ var groupChildren=$(); var isOnlyButtons=true; var groupEl; $.each(buttonGroupStr.split(','), function (j, buttonName){ var customButtonProps; var viewSpec; var buttonClick; var buttonIcon; var buttonText; // " var buttonInnerHtml; var buttonClasses; var buttonEl; var buttonAriaAttr; if(buttonName==='title'){ groupChildren=groupChildren.add($('

     

    ')); isOnlyButtons=false; }else{ if((customButtonProps=calendarCustomButtons[buttonName])){ buttonClick=function (ev){ if(customButtonProps.click){ customButtonProps.click.call(buttonEl[0], ev); }}; (buttonIcon=theme.getCustomButtonIconClass(customButtonProps)) || (buttonIcon=theme.getIconClass(buttonName)) || (buttonText=customButtonProps.text); } else if((viewSpec=viewSpecManager.getViewSpec(buttonName))){ _this.viewsWithButtons.push(buttonName); buttonClick=function (){ calendar.changeView(buttonName); }; (buttonText=viewSpec.buttonTextOverride) || (buttonIcon=theme.getIconClass(buttonName)) || (buttonText=viewSpec.buttonTextDefault); } else if(calendar[buttonName]){ buttonClick=function (){ calendar[buttonName](); }; (buttonText=calendarButtonTextOverrides[buttonName]) || (buttonIcon=theme.getIconClass(buttonName)) || (buttonText=calendarButtonText[buttonName]); } if(buttonClick){ buttonClasses=[ 'fc-' + buttonName + '-button', theme.getClass('button'), theme.getClass('stateDefault') ]; if(buttonText){ buttonInnerHtml=util_1.htmlEscape(buttonText); buttonAriaAttr=''; } else if(buttonIcon){ buttonInnerHtml=""; buttonAriaAttr=' aria-label="' + buttonName + '"'; } buttonEl=$( '') .click(function (ev){ if(!buttonEl.hasClass(theme.getClass('stateDisabled'))){ buttonClick(ev); if(buttonEl.hasClass(theme.getClass('stateActive')) || buttonEl.hasClass(theme.getClass('stateDisabled'))){ buttonEl.removeClass(theme.getClass('stateHover')); }} }) .mousedown(function (){ buttonEl .not('.' + theme.getClass('stateActive')) .not('.' + theme.getClass('stateDisabled')) .addClass(theme.getClass('stateDown')); }) .mouseup(function (){ buttonEl.removeClass(theme.getClass('stateDown')); }) .hover(function (){ buttonEl .not('.' + theme.getClass('stateActive')) .not('.' + theme.getClass('stateDisabled')) .addClass(theme.getClass('stateHover')); }, function (){ buttonEl .removeClass(theme.getClass('stateHover')) .removeClass(theme.getClass('stateDown')); }); groupChildren=groupChildren.add(buttonEl); }} }); if(isOnlyButtons){ groupChildren .first().addClass(theme.getClass('cornerLeft')).end() .last().addClass(theme.getClass('cornerRight')).end(); } if(groupChildren.length > 1){ groupEl=$('
    '); if(isOnlyButtons){ groupEl.addClass(theme.getClass('buttonGroup')); } groupEl.append(groupChildren); sectionEl.append(groupEl); }else{ sectionEl.append(groupChildren); }}); } return sectionEl; }; Toolbar.prototype.updateTitle=function (text){ if(this.el){ this.el.find('h2').text(text); }}; Toolbar.prototype.activateButton=function (buttonName){ if(this.el){ this.el.find('.fc-' + buttonName + '-button') .addClass(this.calendar.theme.getClass('stateActive')); }}; Toolbar.prototype.deactivateButton=function (buttonName){ if(this.el){ this.el.find('.fc-' + buttonName + '-button') .removeClass(this.calendar.theme.getClass('stateActive')); }}; Toolbar.prototype.disableButton=function (buttonName){ if(this.el){ this.el.find('.fc-' + buttonName + '-button') .prop('disabled', true) .addClass(this.calendar.theme.getClass('stateDisabled')); }}; Toolbar.prototype.enableButton=function (buttonName){ if(this.el){ this.el.find('.fc-' + buttonName + '-button') .prop('disabled', false) .removeClass(this.calendar.theme.getClass('stateDisabled')); }}; Toolbar.prototype.getViewsWithButtons=function (){ return this.viewsWithButtons; }; return Toolbar; }()); exports.default=Toolbar; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var options_1=__webpack_require__(32); var locale_1=__webpack_require__(31); var Model_1=__webpack_require__(48); var OptionsManager= (function (_super){ tslib_1.__extends(OptionsManager, _super); function OptionsManager(_calendar, overrides){ var _this=_super.call(this)||this; _this._calendar=_calendar; _this.overrides=$.extend({}, overrides); _this.dynamicOverrides={}; _this.compute(); return _this; } OptionsManager.prototype.add=function (newOptionHash){ var optionCnt=0; var optionName; this.recordOverrides(newOptionHash); for (optionName in newOptionHash){ optionCnt++; } if(optionCnt===1){ if(optionName==='height'||optionName==='contentHeight'||optionName==='aspectRatio'){ this._calendar.updateViewSize(true); return; } else if(optionName==='defaultDate'){ return; } else if(optionName==='businessHours'){ return; } else if(/^(event|select)(Overlap|Constraint|Allow)$/.test(optionName)){ return; } else if(optionName==='timezone'){ this._calendar.view.flash('initialEvents'); return; }} this._calendar.renderHeader(); this._calendar.renderFooter(); this._calendar.viewsByType={}; this._calendar.reinitView(); }; OptionsManager.prototype.compute=function (){ var locale; var localeDefaults; var isRTL; var dirDefaults; var rawOptions; locale=util_1.firstDefined(this.dynamicOverrides.locale, this.overrides.locale); localeDefaults=locale_1.localeOptionHash[locale]; if(!localeDefaults){ locale=options_1.globalDefaults.locale; localeDefaults=locale_1.localeOptionHash[locale]||{};} isRTL=util_1.firstDefined(this.dynamicOverrides.isRTL, this.overrides.isRTL, localeDefaults.isRTL, options_1.globalDefaults.isRTL); dirDefaults=isRTL ? options_1.rtlDefaults:{}; this.dirDefaults=dirDefaults; this.localeDefaults=localeDefaults; rawOptions=options_1.mergeOptions([ options_1.globalDefaults, dirDefaults, localeDefaults, this.overrides, this.dynamicOverrides ]); locale_1.populateInstanceComputableOptions(rawOptions); this.reset(rawOptions); }; OptionsManager.prototype.recordOverrides=function (newOptionHash){ var optionName; for (optionName in newOptionHash){ this.dynamicOverrides[optionName]=newOptionHash[optionName]; } this._calendar.viewSpecManager.clearCache(); this.compute(); }; return OptionsManager; }(Model_1.default)); exports.default=OptionsManager; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var moment=__webpack_require__(0); var $=__webpack_require__(3); var ViewRegistry_1=__webpack_require__(22); var util_1=__webpack_require__(4); var options_1=__webpack_require__(32); var locale_1=__webpack_require__(31); var ViewSpecManager= (function (){ function ViewSpecManager(optionsManager, _calendar){ this.optionsManager=optionsManager; this._calendar=_calendar; this.clearCache(); } ViewSpecManager.prototype.clearCache=function (){ this.viewSpecCache={};}; ViewSpecManager.prototype.getViewSpec=function (viewType){ var cache=this.viewSpecCache; return cache[viewType]||(cache[viewType]=this.buildViewSpec(viewType)); }; ViewSpecManager.prototype.getUnitViewSpec=function (unit){ var viewTypes; var i; var spec; if($.inArray(unit, util_1.unitsDesc)!==-1){ viewTypes=this._calendar.header.getViewsWithButtons(); $.each(ViewRegistry_1.viewHash, function (viewType){ viewTypes.push(viewType); }); for (i=0; i < viewTypes.length; i++){ spec=this.getViewSpec(viewTypes[i]); if(spec){ if(spec.singleUnit===unit){ return spec; }} }} }; ViewSpecManager.prototype.buildViewSpec=function (requestedViewType){ var viewOverrides=this.optionsManager.overrides.views||{}; var specChain=[]; var defaultsChain=[]; var overridesChain=[]; var viewType=requestedViewType; var spec; var overrides; var durationInput; var duration; var unit; while (viewType){ spec=ViewRegistry_1.viewHash[viewType]; overrides=viewOverrides[viewType]; viewType=null; if(typeof spec==='function'){ spec={ 'class': spec };} if(spec){ specChain.unshift(spec); defaultsChain.unshift(spec.defaults||{}); durationInput=durationInput||spec.duration; viewType=viewType||spec.type; } if(overrides){ overridesChain.unshift(overrides); durationInput=durationInput||overrides.duration; viewType=viewType||overrides.type; }} spec=util_1.mergeProps(specChain); spec.type=requestedViewType; if(!spec['class']){ return false; } durationInput=durationInput || this.optionsManager.dynamicOverrides.duration || this.optionsManager.overrides.duration; if(durationInput){ duration=moment.duration(durationInput); if(duration.valueOf()){ unit=util_1.computeDurationGreatestUnit(duration, durationInput); spec.duration=duration; spec.durationUnit=unit; if(duration.as(unit)===1){ spec.singleUnit=unit; overridesChain.unshift(viewOverrides[unit]||{}); }} } spec.defaults=options_1.mergeOptions(defaultsChain); spec.overrides=options_1.mergeOptions(overridesChain); this.buildViewSpecOptions(spec); this.buildViewSpecButtonText(spec, requestedViewType); return spec; }; ViewSpecManager.prototype.buildViewSpecOptions=function (spec){ var optionsManager=this.optionsManager; spec.options=options_1.mergeOptions([ options_1.globalDefaults, spec.defaults, optionsManager.dirDefaults, optionsManager.localeDefaults, optionsManager.overrides, spec.overrides, optionsManager.dynamicOverrides ]); locale_1.populateInstanceComputableOptions(spec.options); }; ViewSpecManager.prototype.buildViewSpecButtonText=function (spec, requestedViewType){ var optionsManager=this.optionsManager; function queryButtonText(options){ var buttonText=options.buttonText||{}; return buttonText[requestedViewType] || (spec.buttonTextKey ? buttonText[spec.buttonTextKey]:null) || (spec.singleUnit ? buttonText[spec.singleUnit]:null); } spec.buttonTextOverride = queryButtonText(optionsManager.dynamicOverrides) || queryButtonText(optionsManager.overrides) || spec.overrides.buttonText; spec.buttonTextDefault = queryButtonText(optionsManager.localeDefaults) || queryButtonText(optionsManager.dirDefaults) || spec.defaults.buttonText || queryButtonText(options_1.globalDefaults) || (spec.duration ? this._calendar.humanizeDuration(spec.duration):null) || requestedViewType; }; return ViewSpecManager; }()); exports.default=ViewSpecManager; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var EventPeriod_1=__webpack_require__(243); var ArrayEventSource_1=__webpack_require__(52); var EventSource_1=__webpack_require__(6); var EventSourceParser_1=__webpack_require__(38); var SingleEventDef_1=__webpack_require__(13); var EventInstanceGroup_1=__webpack_require__(18); var EmitterMixin_1=__webpack_require__(11); var ListenerMixin_1=__webpack_require__(7); var EventManager= (function (){ function EventManager(calendar){ this.calendar=calendar; this.stickySource=new ArrayEventSource_1.default(calendar); this.otherSources=[]; } EventManager.prototype.requestEvents=function (start, end, timezone, force){ if(force || !this.currentPeriod || !this.currentPeriod.isWithinRange(start, end) || timezone!==this.currentPeriod.timezone){ this.setPeriod(new EventPeriod_1.default(start, end, timezone)); } return this.currentPeriod.whenReleased(); }; EventManager.prototype.addSource=function (eventSource){ this.otherSources.push(eventSource); if(this.currentPeriod){ this.currentPeriod.requestSource(eventSource); }}; EventManager.prototype.removeSource=function (doomedSource){ util_1.removeExact(this.otherSources, doomedSource); if(this.currentPeriod){ this.currentPeriod.purgeSource(doomedSource); }}; EventManager.prototype.removeAllSources=function (){ this.otherSources=[]; if(this.currentPeriod){ this.currentPeriod.purgeAllSources(); }}; EventManager.prototype.refetchSource=function (eventSource){ var currentPeriod=this.currentPeriod; if(currentPeriod){ currentPeriod.freeze(); currentPeriod.purgeSource(eventSource); currentPeriod.requestSource(eventSource); currentPeriod.thaw(); }}; EventManager.prototype.refetchAllSources=function (){ var currentPeriod=this.currentPeriod; if(currentPeriod){ currentPeriod.freeze(); currentPeriod.purgeAllSources(); currentPeriod.requestSources(this.getSources()); currentPeriod.thaw(); }}; EventManager.prototype.getSources=function (){ return [this.stickySource].concat(this.otherSources); }; EventManager.prototype.multiQuerySources=function (matchInputs){ if(!matchInputs){ matchInputs=[]; } else if(!$.isArray(matchInputs)){ matchInputs=[matchInputs]; } var matchingSources=[]; var i; for (i=0; i < matchInputs.length; i++){ matchingSources.push.apply(matchingSources, this.querySources(matchInputs[i])); } return matchingSources; }; EventManager.prototype.querySources=function (matchInput){ var sources=this.otherSources; var i; var source; for (i=0; i < sources.length; i++){ source=sources[i]; if(source===matchInput){ return [source]; }} source=this.getSourceById(EventSource_1.default.normalizeId(matchInput)); if(source){ return [source]; } matchInput=EventSourceParser_1.default.parse(matchInput, this.calendar); if(matchInput){ return $.grep(sources, function (source){ return isSourcesEquivalent(matchInput, source); }); }}; EventManager.prototype.getSourceById=function (id){ return $.grep(this.otherSources, function (source){ return source.id&&source.id===id; })[0]; }; EventManager.prototype.setPeriod=function (eventPeriod){ if(this.currentPeriod){ this.unbindPeriod(this.currentPeriod); this.currentPeriod=null; } this.currentPeriod=eventPeriod; this.bindPeriod(eventPeriod); eventPeriod.requestSources(this.getSources()); }; EventManager.prototype.bindPeriod=function (eventPeriod){ this.listenTo(eventPeriod, 'release', function (eventsPayload){ this.trigger('release', eventsPayload); }); }; EventManager.prototype.unbindPeriod=function (eventPeriod){ this.stopListeningTo(eventPeriod); }; EventManager.prototype.getEventDefByUid=function (uid){ if(this.currentPeriod){ return this.currentPeriod.getEventDefByUid(uid); }}; EventManager.prototype.addEventDef=function (eventDef, isSticky){ if(isSticky){ this.stickySource.addEventDef(eventDef); } if(this.currentPeriod){ this.currentPeriod.addEventDef(eventDef); }}; EventManager.prototype.removeEventDefsById=function (eventId){ this.getSources().forEach(function (eventSource){ eventSource.removeEventDefsById(eventId); }); if(this.currentPeriod){ this.currentPeriod.removeEventDefsById(eventId); }}; EventManager.prototype.removeAllEventDefs=function (){ this.getSources().forEach(function (eventSource){ eventSource.removeAllEventDefs(); }); if(this.currentPeriod){ this.currentPeriod.removeAllEventDefs(); }}; EventManager.prototype.mutateEventsWithId=function (eventDefId, eventDefMutation){ var currentPeriod=this.currentPeriod; var eventDefs; var undoFuncs=[]; if(currentPeriod){ currentPeriod.freeze(); eventDefs=currentPeriod.getEventDefsById(eventDefId); eventDefs.forEach(function (eventDef){ currentPeriod.removeEventDef(eventDef); undoFuncs.push(eventDefMutation.mutateSingle(eventDef)); currentPeriod.addEventDef(eventDef); }); currentPeriod.thaw(); return function (){ currentPeriod.freeze(); for (var i=0; i < eventDefs.length; i++){ currentPeriod.removeEventDef(eventDefs[i]); undoFuncs[i](); currentPeriod.addEventDef(eventDefs[i]); } currentPeriod.thaw(); };} return function (){ };}; EventManager.prototype.buildMutatedEventInstanceGroup=function (eventDefId, eventDefMutation){ var eventDefs=this.getEventDefsById(eventDefId); var i; var defCopy; var allInstances=[]; for (i=0; i < eventDefs.length; i++){ defCopy=eventDefs[i].clone(); if(defCopy instanceof SingleEventDef_1.default){ eventDefMutation.mutateSingle(defCopy); allInstances.push.apply(allInstances, defCopy.buildInstances()); }} return new EventInstanceGroup_1.default(allInstances); }; EventManager.prototype.freeze=function (){ if(this.currentPeriod){ this.currentPeriod.freeze(); }}; EventManager.prototype.thaw=function (){ if(this.currentPeriod){ this.currentPeriod.thaw(); }}; EventManager.prototype.getEventDefsById=function (eventDefId){ return this.currentPeriod.getEventDefsById(eventDefId); }; EventManager.prototype.getEventInstances=function (){ return this.currentPeriod.getEventInstances(); }; EventManager.prototype.getEventInstancesWithId=function (eventDefId){ return this.currentPeriod.getEventInstancesWithId(eventDefId); }; EventManager.prototype.getEventInstancesWithoutId=function (eventDefId){ return this.currentPeriod.getEventInstancesWithoutId(eventDefId); }; return EventManager; }()); exports.default=EventManager; EmitterMixin_1.default.mixInto(EventManager); ListenerMixin_1.default.mixInto(EventManager); function isSourcesEquivalent(source0, source1){ return source0.getPrimitive()===source1.getPrimitive(); } }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var Promise_1=__webpack_require__(20); var EmitterMixin_1=__webpack_require__(11); var UnzonedRange_1=__webpack_require__(5); var EventInstanceGroup_1=__webpack_require__(18); var EventPeriod= (function (){ function EventPeriod(start, end, timezone){ this.pendingCnt=0; this.freezeDepth=0; this.stuntedReleaseCnt=0; this.releaseCnt=0; this.start=start; this.end=end; this.timezone=timezone; this.unzonedRange=new UnzonedRange_1.default(start.clone().stripZone(), end.clone().stripZone()); this.requestsByUid={}; this.eventDefsByUid={}; this.eventDefsById={}; this.eventInstanceGroupsById={};} EventPeriod.prototype.isWithinRange=function (start, end){ return !start.isBefore(this.start)&&!end.isAfter(this.end); }; EventPeriod.prototype.requestSources=function (sources){ this.freeze(); for (var i=0; i < sources.length; i++){ this.requestSource(sources[i]); } this.thaw(); }; EventPeriod.prototype.requestSource=function (source){ var _this=this; var request={ source: source, status: 'pending', eventDefs: null }; this.requestsByUid[source.uid]=request; this.pendingCnt +=1; source.fetch(this.start, this.end, this.timezone).then(function (eventDefs){ if(request.status!=='cancelled'){ request.status='completed'; request.eventDefs=eventDefs; _this.addEventDefs(eventDefs); _this.pendingCnt--; _this.tryRelease(); }}, function (){ if(request.status!=='cancelled'){ request.status='failed'; _this.pendingCnt--; _this.tryRelease(); }}); }; EventPeriod.prototype.purgeSource=function (source){ var request=this.requestsByUid[source.uid]; if(request){ delete this.requestsByUid[source.uid]; if(request.status==='pending'){ request.status='cancelled'; this.pendingCnt--; this.tryRelease(); } else if(request.status==='completed'){ request.eventDefs.forEach(this.removeEventDef.bind(this)); }} }; EventPeriod.prototype.purgeAllSources=function (){ var requestsByUid=this.requestsByUid; var uid; var request; var completedCnt=0; for (uid in requestsByUid){ request=requestsByUid[uid]; if(request.status==='pending'){ request.status='cancelled'; } else if(request.status==='completed'){ completedCnt++; }} this.requestsByUid={}; this.pendingCnt=0; if(completedCnt){ this.removeAllEventDefs(); }}; EventPeriod.prototype.getEventDefByUid=function (eventDefUid){ return this.eventDefsByUid[eventDefUid]; }; EventPeriod.prototype.getEventDefsById=function (eventDefId){ var a=this.eventDefsById[eventDefId]; if(a){ return a.slice(); } return []; }; EventPeriod.prototype.addEventDefs=function (eventDefs){ for (var i=0; i < eventDefs.length; i++){ this.addEventDef(eventDefs[i]); }}; EventPeriod.prototype.addEventDef=function (eventDef){ var eventDefsById=this.eventDefsById; var eventDefId=eventDef.id; var eventDefs=eventDefsById[eventDefId]||(eventDefsById[eventDefId]=[]); var eventInstances=eventDef.buildInstances(this.unzonedRange); var i; eventDefs.push(eventDef); this.eventDefsByUid[eventDef.uid]=eventDef; for (i=0; i < eventInstances.length; i++){ this.addEventInstance(eventInstances[i], eventDefId); }}; EventPeriod.prototype.removeEventDefsById=function (eventDefId){ var _this=this; this.getEventDefsById(eventDefId).forEach(function (eventDef){ _this.removeEventDef(eventDef); }); }; EventPeriod.prototype.removeAllEventDefs=function (){ var isEmpty=$.isEmptyObject(this.eventDefsByUid); this.eventDefsByUid={}; this.eventDefsById={}; this.eventInstanceGroupsById={}; if(!isEmpty){ this.tryRelease(); }}; EventPeriod.prototype.removeEventDef=function (eventDef){ var eventDefsById=this.eventDefsById; var eventDefs=eventDefsById[eventDef.id]; delete this.eventDefsByUid[eventDef.uid]; if(eventDefs){ util_1.removeExact(eventDefs, eventDef); if(!eventDefs.length){ delete eventDefsById[eventDef.id]; } this.removeEventInstancesForDef(eventDef); }}; EventPeriod.prototype.getEventInstances=function (){ var eventInstanceGroupsById=this.eventInstanceGroupsById; var eventInstances=[]; var id; for (id in eventInstanceGroupsById){ eventInstances.push.apply(eventInstances, eventInstanceGroupsById[id].eventInstances); } return eventInstances; }; EventPeriod.prototype.getEventInstancesWithId=function (eventDefId){ var eventInstanceGroup=this.eventInstanceGroupsById[eventDefId]; if(eventInstanceGroup){ return eventInstanceGroup.eventInstances.slice(); } return []; }; EventPeriod.prototype.getEventInstancesWithoutId=function (eventDefId){ var eventInstanceGroupsById=this.eventInstanceGroupsById; var matchingInstances=[]; var id; for (id in eventInstanceGroupsById){ if(id!==eventDefId){ matchingInstances.push.apply(matchingInstances, eventInstanceGroupsById[id].eventInstances); }} return matchingInstances; }; EventPeriod.prototype.addEventInstance=function (eventInstance, eventDefId){ var eventInstanceGroupsById=this.eventInstanceGroupsById; var eventInstanceGroup=eventInstanceGroupsById[eventDefId] || (eventInstanceGroupsById[eventDefId]=new EventInstanceGroup_1.default()); eventInstanceGroup.eventInstances.push(eventInstance); this.tryRelease(); }; EventPeriod.prototype.removeEventInstancesForDef=function (eventDef){ var eventInstanceGroupsById=this.eventInstanceGroupsById; var eventInstanceGroup=eventInstanceGroupsById[eventDef.id]; var removeCnt; if(eventInstanceGroup){ removeCnt=util_1.removeMatching(eventInstanceGroup.eventInstances, function (currentEventInstance){ return currentEventInstance.def===eventDef; }); if(!eventInstanceGroup.eventInstances.length){ delete eventInstanceGroupsById[eventDef.id]; } if(removeCnt){ this.tryRelease(); }} }; EventPeriod.prototype.tryRelease=function (){ if(!this.pendingCnt){ if(!this.freezeDepth){ this.release(); }else{ this.stuntedReleaseCnt++; }} }; EventPeriod.prototype.release=function (){ this.releaseCnt++; this.trigger('release', this.eventInstanceGroupsById); }; EventPeriod.prototype.whenReleased=function (){ var _this=this; if(this.releaseCnt){ return Promise_1.default.resolve(this.eventInstanceGroupsById); }else{ return Promise_1.default.construct(function (onResolve){ _this.one('release', onResolve); }); }}; EventPeriod.prototype.freeze=function (){ if(!(this.freezeDepth++)){ this.stuntedReleaseCnt=0; }}; EventPeriod.prototype.thaw=function (){ if(!(--this.freezeDepth)&&this.stuntedReleaseCnt&&!this.pendingCnt){ this.release(); }}; return EventPeriod; }()); exports.default=EventPeriod; EmitterMixin_1.default.mixInto(EventPeriod); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var ListenerMixin_1=__webpack_require__(7); var MouseFollower= (function (){ function MouseFollower(sourceEl, options){ this.isFollowing=false; this.isHidden=false; this.isAnimating=false; this.options=options=options||{}; this.sourceEl=sourceEl; this.parentEl=options.parentEl ? $(options.parentEl):sourceEl.parent(); } MouseFollower.prototype.start=function (ev){ if(!this.isFollowing){ this.isFollowing=true; this.y0=util_1.getEvY(ev); this.x0=util_1.getEvX(ev); this.topDelta=0; this.leftDelta=0; if(!this.isHidden){ this.updatePosition(); } if(util_1.getEvIsTouch(ev)){ this.listenTo($(document), 'touchmove', this.handleMove); }else{ this.listenTo($(document), 'mousemove', this.handleMove); }} }; MouseFollower.prototype.stop=function (shouldRevert, callback){ var _this=this; var revertDuration=this.options.revertDuration; var complete=function (){ _this.isAnimating=false; _this.removeElement(); _this.top0=_this.left0=null; if(callback){ callback(); }}; if(this.isFollowing&&!this.isAnimating){ this.isFollowing=false; this.stopListeningTo($(document)); if(shouldRevert&&revertDuration&&!this.isHidden){ this.isAnimating=true; this.el.animate({ top: this.top0, left: this.left0 }, { duration: revertDuration, complete: complete }); }else{ complete(); }} }; MouseFollower.prototype.getEl=function (){ var el=this.el; if(!el){ el=this.el=this.sourceEl.clone() .addClass(this.options.additionalClass||'') .css({ position: 'absolute', visibility: '', display: this.isHidden ? 'none':'', margin: 0, right: 'auto', bottom: 'auto', width: this.sourceEl.width(), height: this.sourceEl.height(), opacity: this.options.opacity||'', zIndex: this.options.zIndex }); el.addClass('fc-unselectable'); el.appendTo(this.parentEl); } return el; }; MouseFollower.prototype.removeElement=function (){ if(this.el){ this.el.remove(); this.el=null; }}; MouseFollower.prototype.updatePosition=function (){ var sourceOffset; var origin; this.getEl(); if(this.top0==null){ sourceOffset=this.sourceEl.offset(); origin=this.el.offsetParent().offset(); this.top0=sourceOffset.top - origin.top; this.left0=sourceOffset.left - origin.left; } this.el.css({ top: this.top0 + this.topDelta, left: this.left0 + this.leftDelta }); }; MouseFollower.prototype.handleMove=function (ev){ this.topDelta=util_1.getEvY(ev) - this.y0; this.leftDelta=util_1.getEvX(ev) - this.x0; if(!this.isHidden){ this.updatePosition(); }}; MouseFollower.prototype.hide=function (){ if(!this.isHidden){ this.isHidden=true; if(this.el){ this.el.hide(); }} }; MouseFollower.prototype.show=function (){ if(this.isHidden){ this.isHidden=false; this.updatePosition(); this.getEl().show(); }}; return MouseFollower; }()); exports.default=MouseFollower; ListenerMixin_1.default.mixInto(MouseFollower); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var HitDragListener_1=__webpack_require__(23); var Interaction_1=__webpack_require__(15); var DateClicking= (function (_super){ tslib_1.__extends(DateClicking, _super); function DateClicking(component){ var _this=_super.call(this, component)||this; _this.dragListener=_this.buildDragListener(); return _this; } DateClicking.prototype.end=function (){ this.dragListener.endInteraction(); }; DateClicking.prototype.bindToEl=function (el){ var component=this.component; var dragListener=this.dragListener; component.bindDateHandlerToEl(el, 'mousedown', function (ev){ if(!component.shouldIgnoreMouse()){ dragListener.startInteraction(ev); }}); component.bindDateHandlerToEl(el, 'touchstart', function (ev){ if(!component.shouldIgnoreTouch()){ dragListener.startInteraction(ev); }}); }; DateClicking.prototype.buildDragListener=function (){ var _this=this; var component=this.component; var dayClickHit; var dragListener=new HitDragListener_1.default(component, { scroll: this.opt('dragScroll'), interactionStart: function (){ dayClickHit=dragListener.origHit; }, hitOver: function (hit, isOrig, origHit){ if(!isOrig){ dayClickHit=null; }}, hitOut: function (){ dayClickHit=null; }, interactionEnd: function (ev, isCancelled){ var componentFootprint; if(!isCancelled&&dayClickHit){ componentFootprint=component.getSafeHitFootprint(dayClickHit); if(componentFootprint){ _this.view.triggerDayClick(componentFootprint, component.getHitEl(dayClickHit), ev); }} }}); dragListener.shouldCancelTouchScroll=false; dragListener.scrollAlwaysKills=true; return dragListener; }; return DateClicking; }(Interaction_1.default)); exports.default=DateClicking; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var EventRenderer_1=__webpack_require__(42); var TimeGridEventRenderer= (function (_super){ tslib_1.__extends(TimeGridEventRenderer, _super); function TimeGridEventRenderer(timeGrid, fillRenderer){ var _this=_super.call(this, timeGrid, fillRenderer)||this; _this.timeGrid=timeGrid; return _this; } TimeGridEventRenderer.prototype.renderFgSegs=function (segs){ this.renderFgSegsIntoContainers(segs, this.timeGrid.fgContainerEls); }; TimeGridEventRenderer.prototype.renderFgSegsIntoContainers=function (segs, containerEls){ var segsByCol; var col; segsByCol=this.timeGrid.groupSegsByCol(segs); for (col=0; col < this.timeGrid.colCnt; col++){ this.updateFgSegCoords(segsByCol[col]); } this.timeGrid.attachSegsByCol(segsByCol, containerEls); }; TimeGridEventRenderer.prototype.unrenderFgSegs=function (){ if(this.fgSegs){ this.fgSegs.forEach(function (seg){ seg.el.remove(); }); }}; TimeGridEventRenderer.prototype.computeEventTimeFormat=function (){ return this.opt('noMeridiemTimeFormat'); }; TimeGridEventRenderer.prototype.computeDisplayEventEnd=function (){ return true; }; TimeGridEventRenderer.prototype.fgSegHtml=function (seg, disableResizing){ var view=this.view; var calendar=view.calendar; var componentFootprint=seg.footprint.componentFootprint; var isAllDay=componentFootprint.isAllDay; var eventDef=seg.footprint.eventDef; var isDraggable=view.isEventDefDraggable(eventDef); var isResizableFromStart = !disableResizing&&seg.isStart&&view.isEventDefResizableFromStart(eventDef); var isResizableFromEnd = !disableResizing&&seg.isEnd&&view.isEventDefResizableFromEnd(eventDef); var classes=this.getSegClasses(seg, isDraggable, isResizableFromStart||isResizableFromEnd); var skinCss=util_1.cssToStr(this.getSkinCss(eventDef)); var timeText; var fullTimeText; var startTimeText; classes.unshift('fc-time-grid-event', 'fc-v-event'); if(view.isMultiDayRange(componentFootprint.unzonedRange)){ if(seg.isStart||seg.isEnd){ var zonedStart=calendar.msToMoment(seg.startMs); var zonedEnd=calendar.msToMoment(seg.endMs); timeText=this._getTimeText(zonedStart, zonedEnd, isAllDay); fullTimeText=this._getTimeText(zonedStart, zonedEnd, isAllDay, 'LT'); startTimeText=this._getTimeText(zonedStart, zonedEnd, isAllDay, null, false); }}else{ timeText=this.getTimeText(seg.footprint); fullTimeText=this.getTimeText(seg.footprint, 'LT'); startTimeText=this.getTimeText(seg.footprint, null, false); } return '' + '
    ' + (timeText ? '
    ' + '' + util_1.htmlEscape(timeText) + '' + '
    ' : '') + (eventDef.title ? '
    ' + util_1.htmlEscape(eventDef.title) + '
    ' : '') + '
    ' + '
    ' + (isResizableFromEnd ? '
    ' : '') + ''; }; TimeGridEventRenderer.prototype.updateFgSegCoords=function (segs){ this.timeGrid.computeSegVerticals(segs); this.computeFgSegHorizontals(segs); this.timeGrid.assignSegVerticals(segs); this.assignFgSegHorizontals(segs); }; TimeGridEventRenderer.prototype.computeFgSegHorizontals=function (segs){ var levels; var level0; var i; this.sortEventSegs(segs); levels=buildSlotSegLevels(segs); computeForwardSlotSegs(levels); if((level0=levels[0])){ for (i=0; i < level0.length; i++){ computeSlotSegPressures(level0[i]); } for (i=0; i < level0.length; i++){ this.computeFgSegForwardBack(level0[i], 0, 0); }} }; TimeGridEventRenderer.prototype.computeFgSegForwardBack=function (seg, seriesBackwardPressure, seriesBackwardCoord){ var forwardSegs=seg.forwardSegs; var i; if(seg.forwardCoord===undefined){ if(!forwardSegs.length){ seg.forwardCoord=1; }else{ this.sortForwardSegs(forwardSegs); this.computeFgSegForwardBack(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord); seg.forwardCoord=forwardSegs[0].backwardCoord; } seg.backwardCoord=seg.forwardCoord - (seg.forwardCoord - seriesBackwardCoord) / (seriesBackwardPressure + 1); for (i=0; i < forwardSegs.length; i++){ this.computeFgSegForwardBack(forwardSegs[i], 0, seg.forwardCoord); }} }; TimeGridEventRenderer.prototype.sortForwardSegs=function (forwardSegs){ forwardSegs.sort(util_1.proxy(this, 'compareForwardSegs')); }; TimeGridEventRenderer.prototype.compareForwardSegs=function (seg1, seg2){ return seg2.forwardPressure - seg1.forwardPressure || (seg1.backwardCoord||0) - (seg2.backwardCoord||0) || this.compareEventSegs(seg1, seg2); }; TimeGridEventRenderer.prototype.assignFgSegHorizontals=function (segs){ var i; var seg; for (i=0; i < segs.length; i++){ seg=segs[i]; seg.el.css(this.generateFgSegHorizontalCss(seg)); if(seg.bottom - seg.top < 30){ seg.el.addClass('fc-short'); }} }; TimeGridEventRenderer.prototype.generateFgSegHorizontalCss=function (seg){ var shouldOverlap=this.opt('slotEventOverlap'); var backwardCoord=seg.backwardCoord; var forwardCoord=seg.forwardCoord; var props=this.timeGrid.generateSegVerticalCss(seg); var isRTL=this.timeGrid.isRTL; var left; var right; if(shouldOverlap){ forwardCoord=Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2); } if(isRTL){ left=1 - forwardCoord; right=backwardCoord; }else{ left=backwardCoord; right=1 - forwardCoord; } props.zIndex=seg.level + 1; props.left=left * 100 + '%'; props.right=right * 100 + '%'; if(shouldOverlap&&seg.forwardPressure){ props[isRTL ? 'marginLeft':'marginRight']=10 * 2; } return props; }; return TimeGridEventRenderer; }(EventRenderer_1.default)); exports.default=TimeGridEventRenderer; function buildSlotSegLevels(segs){ var levels=[]; var i; var seg; var j; for (i=0; i < segs.length; i++){ seg=segs[i]; for (j=0; j < levels.length; j++){ if(!computeSlotSegCollisions(seg, levels[j]).length){ break; }} seg.level=j; (levels[j]||(levels[j]=[])).push(seg); } return levels; } function computeForwardSlotSegs(levels){ var i; var level; var j; var seg; var k; for (i=0; i < levels.length; i++){ level=levels[i]; for (j=0; j < level.length; j++){ seg=level[j]; seg.forwardSegs=[]; for (k=i + 1; k < levels.length; k++){ computeSlotSegCollisions(seg, levels[k], seg.forwardSegs); }} }} function computeSlotSegPressures(seg){ var forwardSegs=seg.forwardSegs; var forwardPressure=0; var i; var forwardSeg; if(seg.forwardPressure===undefined){ for (i=0; i < forwardSegs.length; i++){ forwardSeg=forwardSegs[i]; computeSlotSegPressures(forwardSeg); forwardPressure=Math.max(forwardPressure, 1 + forwardSeg.forwardPressure); } seg.forwardPressure=forwardPressure; }} function computeSlotSegCollisions(seg, otherSegs, results){ if(results===void 0){ results=[]; } for (var i=0; i < otherSegs.length; i++){ if(isSlotSegCollision(seg, otherSegs[i])){ results.push(otherSegs[i]); }} return results; } function isSlotSegCollision(seg1, seg2){ return seg1.bottom > seg2.top&&seg1.top < seg2.bottom; } }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var HelperRenderer_1=__webpack_require__(58); var TimeGridHelperRenderer= (function (_super){ tslib_1.__extends(TimeGridHelperRenderer, _super); function TimeGridHelperRenderer(){ return _super!==null&&_super.apply(this, arguments)||this; } TimeGridHelperRenderer.prototype.renderSegs=function (segs, sourceSeg){ var helperNodes=[]; var i; var seg; var sourceEl; this.eventRenderer.renderFgSegsIntoContainers(segs, this.component.helperContainerEls); for (i=0; i < segs.length; i++){ seg=segs[i]; if(sourceSeg&&sourceSeg.col===seg.col){ sourceEl=sourceSeg.el; seg.el.css({ left: sourceEl.css('left'), right: sourceEl.css('right'), 'margin-left': sourceEl.css('margin-left'), 'margin-right': sourceEl.css('margin-right') }); } helperNodes.push(seg.el[0]); } return $(helperNodes); }; return TimeGridHelperRenderer; }(HelperRenderer_1.default)); exports.default=TimeGridHelperRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var FillRenderer_1=__webpack_require__(57); var TimeGridFillRenderer= (function (_super){ tslib_1.__extends(TimeGridFillRenderer, _super); function TimeGridFillRenderer(){ return _super!==null&&_super.apply(this, arguments)||this; } TimeGridFillRenderer.prototype.attachSegEls=function (type, segs){ var timeGrid=this.component; var containerEls; if(type==='bgEvent'){ containerEls=timeGrid.bgContainerEls; } else if(type==='businessHours'){ containerEls=timeGrid.businessContainerEls; } else if(type==='highlight'){ containerEls=timeGrid.highlightContainerEls; } timeGrid.updateSegVerticals(segs); timeGrid.attachSegsByCol(timeGrid.groupSegsByCol(segs), containerEls); return segs.map(function (seg){ return seg.el[0]; }); }; return TimeGridFillRenderer; }(FillRenderer_1.default)); exports.default=TimeGridFillRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var ListenerMixin_1=__webpack_require__(7); var Popover= (function (){ function Popover(options){ this.isHidden=true; this.margin=10; this.options=options||{};} Popover.prototype.show=function (){ if(this.isHidden){ if(!this.el){ this.render(); } this.el.show(); this.position(); this.isHidden=false; this.trigger('show'); }}; Popover.prototype.hide=function (){ if(!this.isHidden){ this.el.hide(); this.isHidden=true; this.trigger('hide'); }}; Popover.prototype.render=function (){ var _this=this; var options=this.options; this.el=$('
    ') .addClass(options.className||'') .css({ top: 0, left: 0 }) .append(options.content) .appendTo(options.parentEl); this.el.on('click', '.fc-close', function (){ _this.hide(); }); if(options.autoHide){ this.listenTo($(document), 'mousedown', this.documentMousedown); }}; Popover.prototype.documentMousedown=function (ev){ if(this.el&&!$(ev.target).closest(this.el).length){ this.hide(); }}; Popover.prototype.removeElement=function (){ this.hide(); if(this.el){ this.el.remove(); this.el=null; } this.stopListeningTo($(document), 'mousedown'); }; Popover.prototype.position=function (){ var options=this.options; var origin=this.el.offsetParent().offset(); var width=this.el.outerWidth(); var height=this.el.outerHeight(); var windowEl=$(window); var viewportEl=util_1.getScrollParent(this.el); var viewportTop; var viewportLeft; var viewportOffset; var top; var left; top=options.top||0; if(options.left!==undefined){ left=options.left; } else if(options.right!==undefined){ left=options.right - width; }else{ left=0; } if(viewportEl.is(window)||viewportEl.is(document)){ viewportEl=windowEl; viewportTop=0; viewportLeft=0; }else{ viewportOffset=viewportEl.offset(); viewportTop=viewportOffset.top; viewportLeft=viewportOffset.left; } viewportTop +=windowEl.scrollTop(); viewportLeft +=windowEl.scrollLeft(); if(options.viewportConstrain!==false){ top=Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin); top=Math.max(top, viewportTop + this.margin); left=Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin); left=Math.max(left, viewportLeft + this.margin); } this.el.css({ top: top - origin.top, left: left - origin.left }); }; Popover.prototype.trigger=function (name){ if(this.options[name]){ this.options[name].apply(this, Array.prototype.slice.call(arguments, 1)); }}; return Popover; }()); exports.default=Popover; ListenerMixin_1.default.mixInto(Popover); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var util_1=__webpack_require__(4); var EventRenderer_1=__webpack_require__(42); var DayGridEventRenderer= (function (_super){ tslib_1.__extends(DayGridEventRenderer, _super); function DayGridEventRenderer(dayGrid, fillRenderer){ var _this=_super.call(this, dayGrid, fillRenderer)||this; _this.dayGrid=dayGrid; return _this; } DayGridEventRenderer.prototype.renderBgRanges=function (eventRanges){ eventRanges=$.grep(eventRanges, function (eventRange){ return eventRange.eventDef.isAllDay(); }); _super.prototype.renderBgRanges.call(this, eventRanges); }; DayGridEventRenderer.prototype.renderFgSegs=function (segs){ var rowStructs=this.rowStructs=this.renderSegRows(segs); this.dayGrid.rowEls.each(function (i, rowNode){ $(rowNode).find('.fc-content-skeleton > table').append(rowStructs[i].tbodyEl); }); }; DayGridEventRenderer.prototype.unrenderFgSegs=function (){ var rowStructs=this.rowStructs||[]; var rowStruct; while ((rowStruct=rowStructs.pop())){ rowStruct.tbodyEl.remove(); } this.rowStructs=null; }; DayGridEventRenderer.prototype.renderSegRows=function (segs){ var rowStructs=[]; var segRows; var row; segRows=this.groupSegRows(segs); for (row=0; row < segRows.length; row++){ rowStructs.push(this.renderSegRow(row, segRows[row])); } return rowStructs; }; DayGridEventRenderer.prototype.renderSegRow=function (row, rowSegs){ var colCnt=this.dayGrid.colCnt; var segLevels=this.buildSegLevels(rowSegs); var levelCnt=Math.max(1, segLevels.length); var tbody=$(''); var segMatrix=[]; var cellMatrix=[]; var loneCellMatrix=[]; var i; var levelSegs; var col; var tr; var j; var seg; var td; function emptyCellsUntil(endCol){ while (col < endCol){ td=(loneCellMatrix[i - 1]||[])[col]; if(td){ td.attr('rowspan', parseInt(td.attr('rowspan')||1, 10) + 1); }else{ td=$(''); tr.append(td); } cellMatrix[i][col]=td; loneCellMatrix[i][col]=td; col++; }} for (i=0; i < levelCnt; i++){ levelSegs=segLevels[i]; col=0; tr=$(''); segMatrix.push([]); cellMatrix.push([]); loneCellMatrix.push([]); if(levelSegs){ for (j=0; j < levelSegs.length; j++){ seg=levelSegs[j]; emptyCellsUntil(seg.leftCol); td=$('').append(seg.el); if(seg.leftCol!==seg.rightCol){ td.attr('colspan', seg.rightCol - seg.leftCol + 1); }else{ loneCellMatrix[i][col]=td; } while (col <=seg.rightCol){ cellMatrix[i][col]=td; segMatrix[i][col]=seg; col++; } tr.append(td); }} emptyCellsUntil(colCnt); this.dayGrid.bookendCells(tr); tbody.append(tr); } return { row: row, tbodyEl: tbody, cellMatrix: cellMatrix, segMatrix: segMatrix, segLevels: segLevels, segs: rowSegs };}; DayGridEventRenderer.prototype.buildSegLevels=function (segs){ var levels=[]; var i; var seg; var j; this.sortEventSegs(segs); for (i=0; i < segs.length; i++){ seg=segs[i]; for (j=0; j < levels.length; j++){ if(!isDaySegCollision(seg, levels[j])){ break; }} seg.level=j; (levels[j]||(levels[j]=[])).push(seg); } for (j=0; j < levels.length; j++){ levels[j].sort(compareDaySegCols); } return levels; }; DayGridEventRenderer.prototype.groupSegRows=function (segs){ var segRows=[]; var i; for (i=0; i < this.dayGrid.rowCnt; i++){ segRows.push([]); } for (i=0; i < segs.length; i++){ segRows[segs[i].row].push(segs[i]); } return segRows; }; DayGridEventRenderer.prototype.computeEventTimeFormat=function (){ return this.opt('extraSmallTimeFormat'); }; DayGridEventRenderer.prototype.computeDisplayEventEnd=function (){ return this.dayGrid.colCnt===1; }; DayGridEventRenderer.prototype.fgSegHtml=function (seg, disableResizing){ var view=this.view; var eventDef=seg.footprint.eventDef; var isAllDay=seg.footprint.componentFootprint.isAllDay; var isDraggable=view.isEventDefDraggable(eventDef); var isResizableFromStart = !disableResizing&&isAllDay && seg.isStart&&view.isEventDefResizableFromStart(eventDef); var isResizableFromEnd = !disableResizing&&isAllDay && seg.isEnd&&view.isEventDefResizableFromEnd(eventDef); var classes=this.getSegClasses(seg, isDraggable, isResizableFromStart||isResizableFromEnd); var skinCss=util_1.cssToStr(this.getSkinCss(eventDef)); var timeHtml=''; var timeText; var titleHtml; classes.unshift('fc-day-grid-event', 'fc-h-event'); if(seg.isStart){ timeText=this.getTimeText(seg.footprint); if(timeText){ timeHtml='' + util_1.htmlEscape(timeText) + ''; }} titleHtml = '' + (util_1.htmlEscape(eventDef.title||'')||' ') + ''; return '' + '
    ' + (this.dayGrid.isRTL ? titleHtml + ' ' + timeHtml : timeHtml + ' ' + titleHtml ) + '
    ' + (isResizableFromStart ? '
    ' : '') + (isResizableFromEnd ? '
    ' : '') + ''; }; return DayGridEventRenderer; }(EventRenderer_1.default)); exports.default=DayGridEventRenderer; function isDaySegCollision(seg, otherSegs){ var i; var otherSeg; for (i=0; i < otherSegs.length; i++){ otherSeg=otherSegs[i]; if(otherSeg.leftCol <=seg.rightCol && otherSeg.rightCol >=seg.leftCol){ return true; }} return false; } function compareDaySegCols(a, b){ return a.leftCol - b.leftCol; } }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var HelperRenderer_1=__webpack_require__(58); var DayGridHelperRenderer= (function (_super){ tslib_1.__extends(DayGridHelperRenderer, _super); function DayGridHelperRenderer(){ return _super!==null&&_super.apply(this, arguments)||this; } DayGridHelperRenderer.prototype.renderSegs=function (segs, sourceSeg){ var helperNodes=[]; var rowStructs; rowStructs=this.eventRenderer.renderSegRows(segs); this.component.rowEls.each(function (row, rowNode){ var rowEl=$(rowNode); var skeletonEl=$('
    '); var skeletonTopEl; var skeletonTop; if(sourceSeg&&sourceSeg.row===row){ skeletonTop=sourceSeg.el.position().top; }else{ skeletonTopEl=rowEl.find('.fc-content-skeleton tbody'); if(!skeletonTopEl.length){ skeletonTopEl=rowEl.find('.fc-content-skeleton table'); } skeletonTop=skeletonTopEl.position().top; } skeletonEl.css('top', skeletonTop) .find('table') .append(rowStructs[row].tbodyEl); rowEl.append(skeletonEl); helperNodes.push(skeletonEl[0]); }); return $(helperNodes); }; return DayGridHelperRenderer; }(HelperRenderer_1.default)); exports.default=DayGridHelperRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var FillRenderer_1=__webpack_require__(57); var DayGridFillRenderer= (function (_super){ tslib_1.__extends(DayGridFillRenderer, _super); function DayGridFillRenderer(){ var _this=_super!==null&&_super.apply(this, arguments)||this; _this.fillSegTag='td'; return _this; } DayGridFillRenderer.prototype.attachSegEls=function (type, segs){ var nodes=[]; var i; var seg; var skeletonEl; for (i=0; i < segs.length; i++){ seg=segs[i]; skeletonEl=this.renderFillRow(type, seg); this.component.rowEls.eq(seg.row).append(skeletonEl); nodes.push(skeletonEl[0]); } return nodes; }; DayGridFillRenderer.prototype.renderFillRow=function (type, seg){ var colCnt=this.component.colCnt; var startCol=seg.leftCol; var endCol=seg.rightCol + 1; var className; var skeletonEl; var trEl; if(type==='businessHours'){ className='bgevent'; }else{ className=type.toLowerCase(); } skeletonEl=$('
    ' + '
    ' + '
    '); trEl=skeletonEl.find('tr'); if(startCol > 0){ trEl.append(''); } trEl.append(seg.el.attr('colspan', endCol - startCol)); if(endCol < colCnt){ trEl.append(''); } this.component.bookendCells(trEl); return skeletonEl; }; return DayGridFillRenderer; }(FillRenderer_1.default)); exports.default=DayGridFillRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var BasicViewDateProfileGenerator_1=__webpack_require__(228); var UnzonedRange_1=__webpack_require__(5); var MonthViewDateProfileGenerator= (function (_super){ tslib_1.__extends(MonthViewDateProfileGenerator, _super); function MonthViewDateProfileGenerator(){ return _super!==null&&_super.apply(this, arguments)||this; } MonthViewDateProfileGenerator.prototype.buildRenderRange=function (currentUnzonedRange, currentRangeUnit, isRangeAllDay){ var renderUnzonedRange=_super.prototype.buildRenderRange.call(this, currentUnzonedRange, currentRangeUnit, isRangeAllDay); var start=this.msToUtcMoment(renderUnzonedRange.startMs, isRangeAllDay); var end=this.msToUtcMoment(renderUnzonedRange.endMs, isRangeAllDay); var rowCnt; if(this.opt('fixedWeekCount')){ rowCnt=Math.ceil(end.diff(start, 'weeks', true) ); end.add(6 - rowCnt, 'weeks'); } return new UnzonedRange_1.default(start, end); }; return MonthViewDateProfileGenerator; }(BasicViewDateProfileGenerator_1.default)); exports.default=MonthViewDateProfileGenerator; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var util_1=__webpack_require__(4); var EventRenderer_1=__webpack_require__(42); var ListEventRenderer= (function (_super){ tslib_1.__extends(ListEventRenderer, _super); function ListEventRenderer(){ return _super!==null&&_super.apply(this, arguments)||this; } ListEventRenderer.prototype.renderFgSegs=function (segs){ if(!segs.length){ this.component.renderEmptyMessage(); }else{ this.component.renderSegList(segs); }}; ListEventRenderer.prototype.fgSegHtml=function (seg){ var view=this.view; var calendar=view.calendar; var theme=calendar.theme; var eventFootprint=seg.footprint; var eventDef=eventFootprint.eventDef; var componentFootprint=eventFootprint.componentFootprint; var url=eventDef.url; var classes=['fc-list-item'].concat(this.getClasses(eventDef)); var bgColor=this.getBgColor(eventDef); var timeHtml; if(componentFootprint.isAllDay){ timeHtml=view.getAllDayHtml(); } else if(view.isMultiDayRange(componentFootprint.unzonedRange)){ if(seg.isStart||seg.isEnd){ timeHtml=util_1.htmlEscape(this._getTimeText(calendar.msToMoment(seg.startMs), calendar.msToMoment(seg.endMs), componentFootprint.isAllDay)); }else{ timeHtml=view.getAllDayHtml(); }}else{ timeHtml=util_1.htmlEscape(this.getTimeText(eventFootprint)); } if(url){ classes.push('fc-has-url'); } return '' + (this.displayEventTime ? '' + (timeHtml||'') + '' : '') + '' + '' + '' + '' + '' + util_1.htmlEscape(eventDef.title||'') + '' + '' + ''; }; ListEventRenderer.prototype.computeEventTimeFormat=function (){ return this.opt('mediumTimeFormat'); }; return ListEventRenderer; }(EventRenderer_1.default)); exports.default=ListEventRenderer; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var $=__webpack_require__(3); var EventPointing_1=__webpack_require__(59); var ListEventPointing= (function (_super){ tslib_1.__extends(ListEventPointing, _super); function ListEventPointing(){ return _super!==null&&_super.apply(this, arguments)||this; } ListEventPointing.prototype.handleClick=function (seg, ev){ var url; _super.prototype.handleClick.call(this, seg, ev); if(!$(ev.target).closest('a[href]').length){ url=seg.footprint.eventDef.url; if(url&&!ev.isDefaultPrevented()){ window.location.href=url; }} }; return ListEventPointing; }(EventPointing_1.default)); exports.default=ListEventPointing; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var EventSourceParser_1=__webpack_require__(38); var ArrayEventSource_1=__webpack_require__(52); var FuncEventSource_1=__webpack_require__(215); var JsonFeedEventSource_1=__webpack_require__(216); EventSourceParser_1.default.registerClass(ArrayEventSource_1.default); EventSourceParser_1.default.registerClass(FuncEventSource_1.default); EventSourceParser_1.default.registerClass(JsonFeedEventSource_1.default); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var ThemeRegistry_1=__webpack_require__(51); var StandardTheme_1=__webpack_require__(213); var JqueryUiTheme_1=__webpack_require__(214); var Bootstrap3Theme_1=__webpack_require__(258); var Bootstrap4Theme_1=__webpack_require__(259); ThemeRegistry_1.defineThemeSystem('standard', StandardTheme_1.default); ThemeRegistry_1.defineThemeSystem('jquery-ui', JqueryUiTheme_1.default); ThemeRegistry_1.defineThemeSystem('bootstrap3', Bootstrap3Theme_1.default); ThemeRegistry_1.defineThemeSystem('bootstrap4', Bootstrap4Theme_1.default); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Theme_1=__webpack_require__(19); var Bootstrap3Theme= (function (_super){ tslib_1.__extends(Bootstrap3Theme, _super); function Bootstrap3Theme(){ return _super!==null&&_super.apply(this, arguments)||this; } return Bootstrap3Theme; }(Theme_1.default)); exports.default=Bootstrap3Theme; Bootstrap3Theme.prototype.classes={ widget: 'fc-bootstrap3', tableGrid: 'table-bordered', tableList: 'table', tableListHeading: 'active', buttonGroup: 'btn-group', button: 'btn btn-default', stateActive: 'active', stateDisabled: 'disabled', today: 'alert alert-info', popover: 'panel panel-default', popoverHeader: 'panel-heading', popoverContent: 'panel-body', headerRow: 'panel-default', dayRow: 'panel-default', listView: 'panel panel-default' }; Bootstrap3Theme.prototype.baseIconClass='glyphicon'; Bootstrap3Theme.prototype.iconClasses={ close: 'glyphicon-remove', prev: 'glyphicon-chevron-left', next: 'glyphicon-chevron-right', prevYear: 'glyphicon-backward', nextYear: 'glyphicon-forward' }; Bootstrap3Theme.prototype.iconOverrideOption='bootstrapGlyphicons'; Bootstrap3Theme.prototype.iconOverrideCustomButtonOption='bootstrapGlyphicon'; Bootstrap3Theme.prototype.iconOverridePrefix='glyphicon-'; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1=__webpack_require__(2); var Theme_1=__webpack_require__(19); var Bootstrap4Theme= (function (_super){ tslib_1.__extends(Bootstrap4Theme, _super); function Bootstrap4Theme(){ return _super!==null&&_super.apply(this, arguments)||this; } return Bootstrap4Theme; }(Theme_1.default)); exports.default=Bootstrap4Theme; Bootstrap4Theme.prototype.classes={ widget: 'fc-bootstrap4', tableGrid: 'table-bordered', tableList: 'table', tableListHeading: 'table-active', buttonGroup: 'btn-group', button: 'btn btn-primary', stateActive: 'active', stateDisabled: 'disabled', today: 'alert alert-info', popover: 'card card-primary', popoverHeader: 'card-header', popoverContent: 'card-body', headerRow: 'table-bordered', dayRow: 'table-bordered', listView: 'card card-primary' }; Bootstrap4Theme.prototype.baseIconClass='fa'; Bootstrap4Theme.prototype.iconClasses={ close: 'fa-times', prev: 'fa-chevron-left', next: 'fa-chevron-right', prevYear: 'fa-angle-double-left', nextYear: 'fa-angle-double-right' }; Bootstrap4Theme.prototype.iconOverrideOption='bootstrapFontAwesome'; Bootstrap4Theme.prototype.iconOverrideCustomButtonOption='bootstrapFontAwesome'; Bootstrap4Theme.prototype.iconOverridePrefix='fa-'; }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var ViewRegistry_1=__webpack_require__(22); var BasicView_1=__webpack_require__(62); var MonthView_1=__webpack_require__(229); ViewRegistry_1.defineView('basic', { 'class': BasicView_1.default }); ViewRegistry_1.defineView('basicDay', { type: 'basic', duration: { days: 1 }}); ViewRegistry_1.defineView('basicWeek', { type: 'basic', duration: { weeks: 1 }}); ViewRegistry_1.defineView('month', { 'class': MonthView_1.default, duration: { months: 1 }, defaults: { fixedWeekCount: true }}); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var ViewRegistry_1=__webpack_require__(22); var AgendaView_1=__webpack_require__(226); ViewRegistry_1.defineView('agenda', { 'class': AgendaView_1.default, defaults: { allDaySlot: true, slotDuration: '00:30:00', slotEventOverlap: true }}); ViewRegistry_1.defineView('agendaDay', { type: 'agenda', duration: { days: 1 }}); ViewRegistry_1.defineView('agendaWeek', { type: 'agenda', duration: { weeks: 1 }}); }), (function(module, exports, __webpack_require__){ Object.defineProperty(exports, "__esModule", { value: true }); var ViewRegistry_1=__webpack_require__(22); var ListView_1=__webpack_require__(230); ViewRegistry_1.defineView('list', { 'class': ListView_1.default, buttonTextKey: 'list', defaults: { buttonText: 'list', listDayFormat: 'LL', noEventsMessage: 'No events to display' }}); ViewRegistry_1.defineView('listDay', { type: 'list', duration: { days: 1 }, defaults: { listDayFormat: 'dddd' }}); ViewRegistry_1.defineView('listWeek', { type: 'list', duration: { weeks: 1 }, defaults: { listDayFormat: 'dddd', listDayAltFormat: 'LL' }}); ViewRegistry_1.defineView('listMonth', { type: 'list', duration: { month: 1 }, defaults: { listDayAltFormat: 'dddd' }}); ViewRegistry_1.defineView('listYear', { type: 'list', duration: { year: 1 }, defaults: { listDayAltFormat: 'dddd' }}); }), (function(module, exports){ Object.defineProperty(exports, "__esModule", { value: true }); }) ]); }); !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("moment"),require("fullcalendar")):"function"==typeof define&&define.amd?define(["moment","fullcalendar"],t):"object"==typeof exports?t(require("moment"),require("fullcalendar")):t(e.moment,e.FullCalendar)}("undefined"!=typeof self?self:this,function(e,t){return function(e){function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=181)}({0:function(t,r){t.exports=e},1:function(e,r){e.exports=t},181:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),r(182);var n=r(1);n.datepickerLocale("ru","ru",{closeText:"Закрыть",prevText:"<Пред",nextText:"След>",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),n.locale("ru",{buttonText:{month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},allDayText:"Весь день",eventLimitText:function(e){return"+ ещё "+e},noEventsMessage:"Нет событий для отображения"})},182:function(e,t,r){!function(e,t){t(r(0))}(0,function(e){function t(e,t){var r=e.split("_");return t%10==1&&t%100!=11?r[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?r[1]:r[2]}function r(e,r,n){var s={ss:r?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:r?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?r?"минута":"минуту":e+" "+t(s[n],+e)}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];return e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:r,m:r,mm:r,h:"час",hh:r,d:"день",dd:r,M:"месяц",MM:r,y:"год",yy:r},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,r){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}})})}})}); !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";function i(t){var i,e,n,o;for(e=1,n=arguments.length;e=0}function B(t,i,e,n){return"touchstart"===i?O(t,e,n):"touchmove"===i?W(t,e,n):"touchend"===i&&H(t,e,n),this}function I(t,i,e){var n=t["_leaflet_"+i+e];return"touchstart"===i?t.removeEventListener(te,n,!1):"touchmove"===i?t.removeEventListener(ie,n,!1):"touchend"===i&&(t.removeEventListener(ee,n,!1),t.removeEventListener(ne,n,!1)),this}function O(t,i,n){var o=e(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(oe.indexOf(t.target.tagName)<0))return;Pt(t)}j(t,i)});t["_leaflet_touchstart"+n]=o,t.addEventListener(te,o,!1),re||(document.documentElement.addEventListener(te,R,!0),document.documentElement.addEventListener(ie,N,!0),document.documentElement.addEventListener(ee,D,!0),document.documentElement.addEventListener(ne,D,!0),re=!0)}function R(t){se[t.pointerId]=t,ae++}function N(t){se[t.pointerId]&&(se[t.pointerId]=t)}function D(t){delete se[t.pointerId],ae--}function j(t,i){t.touches=[];for(var e in se)t.touches.push(se[e]);t.changedTouches=[t],i(t)}function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&j(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(ie,n,!1)}function H(t,i,e){var n=function(t){j(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener(ee,n,!1),t.addEventListener(ne,n,!1)}function F(t,i,e){function n(t){var i;if(Vi){if(!bi||"mouse"===t.pointerType)return;i=ae}else i=t.touches.length;if(!(i>1)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=n>0&&n<=h,s=e}}function o(t){if(a&&!r.cancelBubble){if(Vi){if(!bi||"mouse"===t.pointerType)return;var e,n,o={};for(n in r)e=r[n],o[n]=e&&e.bind?e.bind(r):e;r=o}r.type="dblclick",i(r),s=null}}var s,r,a=!1,h=250;return t[le+he+e]=n,t[le+ue+e]=o,t[le+"dblclick"+e]=i,t.addEventListener(he,n,!1),t.addEventListener(ue,o,!1),t.addEventListener("dblclick",i,!1),this}function U(t,i){var e=t[le+he+i],n=t[le+ue+i],o=t[le+"dblclick"+i];return t.removeEventListener(he,e,!1),t.removeEventListener(ue,n,!1),bi||t.removeEventListener("dblclick",o,!1),this}function V(t){return"string"==typeof t?document.getElementById(t):t}function q(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!e||"auto"===e)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);e=n?n[i]:null}return"auto"===e?null:e}function G(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function K(t){var i=t.parentNode;i&&i.removeChild(t)}function Y(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function X(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}function J(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function $(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=et(t);return e.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function Q(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;n100&&n<500||t.target._simulatedClick&&!t._simulated?Lt(t):(ge=e,i(t))}function Zt(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=Bt(t,e),t=kt(t,e)}function Et(t,i,e){return Math.sqrt(Dt(t,i,e,!0))}function kt(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(e);n[0]=n[e-1]=1,At(t,n,i,0,e-1);var o,s=[];for(o=0;oh&&(s=r,h=a);h>e&&(i[s]=1,At(t,i,e,n,s),At(t,i,e,s,o))}function Bt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;ni&&(e.push(t[n]),o=n);return oi.max.x&&(e|=2),t.yi.max.y&&(e|=8),e}function Nt(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}function Dt(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=e.x,r=e.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new x(s,r)}function jt(t){return!oi(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Wt(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),jt(t)}function Ht(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;o0?Math.floor(t):Math.ceil(t)};x.prototype={clone:function(){return new x(this.x,this.y)},add:function(t){return this.clone()._add(w(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(w(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new x(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new x(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=_i(this.x),this.y=_i(this.y),this},distanceTo:function(t){var i=(t=w(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=w(t)).x===this.x&&t.y===this.y},contains:function(t){return t=w(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+a(this.x)+", "+a(this.y)+")"}},P.prototype={extend:function(t){return t=w(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new x((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new x(this.min.x,this.max.y)},getTopRight:function(){return new x(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var i,e;return(t="number"==typeof t[0]||t instanceof x?w(t):b(t))instanceof P?(i=t.min,e=t.max):i=e=t,i.x>=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.xi.y&&n.y=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lati.lng&&n.lng1,Xi=!!document.createElement("canvas").getContext,Ji=!(!document.createElementNS||!E("svg").createSVGRect),$i=!Ji&&function(){try{var t=document.createElement("div");t.innerHTML='';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}(),Qi=(Object.freeze||Object)({ie:Pi,ielt9:Li,edge:bi,webkit:Ti,android:zi,android23:Mi,androidStock:Si,opera:Zi,chrome:Ei,gecko:ki,safari:Ai,phantom:Bi,opera12:Ii,win:Oi,ie3d:Ri,webkit3d:Ni,gecko3d:Di,any3d:ji,mobile:Wi,mobileWebkit:Hi,mobileWebkit3d:Fi,msPointer:Ui,pointer:Vi,touch:qi,mobileOpera:Gi,mobileGecko:Ki,retina:Yi,canvas:Xi,svg:Ji,vml:$i}),te=Ui?"MSPointerDown":"pointerdown",ie=Ui?"MSPointerMove":"pointermove",ee=Ui?"MSPointerUp":"pointerup",ne=Ui?"MSPointerCancel":"pointercancel",oe=["INPUT","SELECT","OPTION"],se={},re=!1,ae=0,he=Ui?"MSPointerDown":Vi?"pointerdown":"touchstart",ue=Ui?"MSPointerUp":Vi?"pointerup":"touchend",le="_leaflet_",ce=st(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),_e=st(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===_e||"OTransition"===_e?_e+"End":"transitionend";if("onselectstart"in document)fi=function(){mt(window,"selectstart",Pt)},gi=function(){ft(window,"selectstart",Pt)};else{var pe=st(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);fi=function(){if(pe){var t=document.documentElement.style;vi=t[pe],t[pe]="none"}},gi=function(){pe&&(document.documentElement.style[pe]=vi,vi=void 0)}}var me,fe,ge,ve=(Object.freeze||Object)({TRANSFORM:ce,TRANSITION:_e,TRANSITION_END:de,get:V,getStyle:q,create:G,remove:K,empty:Y,toFront:X,toBack:J,hasClass:$,addClass:Q,removeClass:tt,setClass:it,getClass:et,setOpacity:nt,testProp:st,setTransform:rt,setPosition:at,getPosition:ht,disableTextSelection:fi,enableTextSelection:gi,disableImageDrag:ut,enableImageDrag:lt,preventOutline:ct,restoreOutline:_t,getSizedParentNode:dt,getScale:pt}),ye="_leaflet_events",xe=Oi&&Ei?2*window.devicePixelRatio:ki?window.devicePixelRatio:1,we={},Pe=(Object.freeze||Object)({on:mt,off:ft,stopPropagation:yt,disableScrollPropagation:xt,disableClickPropagation:wt,preventDefault:Pt,stop:Lt,getMousePosition:bt,getWheelDelta:Tt,fakeStop:zt,skipped:Mt,isExternalTarget:Ct,addListener:mt,removeListener:ft}),Le=ci.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=ht(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=f(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,e=1e3*this._duration;ithis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,z(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var n=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=n.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(e(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:n,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var n=e(this._handleGeolocationResponse,this),o=e(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(n,o,t):navigator.geolocation.getCurrentPosition(n,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?"permission denied":2===i?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+e+"."})},_handleGeolocationResponse:function(t){var i=new M(t.coords.latitude,t.coords.longitude),e=i.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(e);this.setView(i,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:i,bounds:e,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),K(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(g(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)K(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=G("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new T(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=z(t),e=w(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=b(this.project(a,n),this.project(r,n)).getSize(),l=ji?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_);return n=this.getScaleZoom(d,n),l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new x(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new P(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(C(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(w(t),i)},layerPointToLatLng:function(t){var i=w(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(C(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(C(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,i){return this.options.crs.distance(C(t),C(i))},containerPointToLayerPoint:function(t){return w(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return w(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(w(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(C(t)))},mouseEventToContainerPoint:function(t){return bt(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=V(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");mt(i,"scroll",this._onScroll,this),this._containerId=n(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&ji,Q(t,"leaflet-container"+(qi?" leaflet-touch":"")+(Yi?" leaflet-retina":"")+(Li?" leaflet-oldie":"")+(Ai?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=q(t,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),at(this._mapPane,new x(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Q(t.markerPane,"leaflet-zoom-hide"),Q(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){at(this._mapPane,new x(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var n=this._zoom!==i;this._moveStart(n,!1)._move(t,i)._moveEnd(n),this.fire("viewreset"),e&&this.fire("load")},_moveStart:function(t,i){return t&&this.fire("zoomstart"),i||this.fire("movestart"),this},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire("zoom",e),this.fire("move",e)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return g(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){at(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[n(this._container)]=this;var i=t?ft:mt;i(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),ji&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){g(this._resizeRequest),this._resizeRequest=f(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,o=[],s="mouseout"===i||"mouseover"===i,r=t.target||t.srcElement,a=!1;r;){if((e=this._targets[n(r)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){a=!0;break}if(e&&e.listens(i,!0)){if(s&&!Ct(r,t))break;if(o.push(e),s)break}if(r===this._container)break;r=r.parentNode}return o.length||a||s||!Ct(r,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!Mt(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i||ct(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];"contextmenu"===e&&s.listens(e,!0)&&Pt(t);var r={originalEvent:t};if("keypress"!==t.type){var a=s.getLatLng&&(!s._radius||s._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h0?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=ji?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){tt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._trunc();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=G("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=ce,e=this._proxy.style[i];rt(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),i=this.getZoom();rt(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){K(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(f(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,n,o){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,Q(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:o}),setTimeout(e(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&tt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),f(function(){this._moveEnd(!0)},this))}}),Te=v.extend({options:{position:"topright"},initialize:function(t){l(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return Q(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this},remove:function(){return this._map?(K(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ze=function(t){return new Te(t)};be.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,o){var s=e+t+" "+e+o;i[t+o]=G("div",s,n)}var i=this._controlCorners={},e="leaflet-",n=this._controlContainer=G("div",e+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)K(this._controlCorners[t]);K(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Me=Te.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(n(t.target)),e=i.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=o):i=this._createRadioElement("leaflet-base-layers",o),this._layerControlInputs.push(i),i.layerId=n(t.layer),mt(i,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var r=document.createElement("div");return e.appendChild(r),r.appendChild(i),r.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;s>=0;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s=0;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&ni.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand (),this},_expand:function(){return this.expand ()},_collapse:function(){return this.collapse()}}),Ce=Te.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=G("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=G("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),wt(s),mt(s,"click",Lt),mt(s,"click",o,this),mt(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";tt(this._zoomInButton,i),tt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMinZoom())&&Q(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMaxZoom())&&Q(this._zoomInButton,i)}});be.mergeOptions({zoomControl:!0}),be.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ce,this.addControl(this.zoomControl))});var Se=Te.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i=G("div","leaflet-control-scale"),e=this.options;return this._addScales(e,"leaflet-control-scale-line",i),t.on(e.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=G("div",i,e)),t.imperial&&(this._iScale=G("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;o>5280?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+" mi",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),e=t/i;return e=e>=10?10:e>=5?5:e>=3?3:e>=2?2:1,i*e}}),Ze=Te.extend({options:{position:"bottomright",prefix:'Leaflet'},initialize:function(t){l(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=G("div","leaflet-control-attribution"),wt(this._container);for(var i in t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});be.mergeOptions({attributionControl:!0}),be.addInitHook(function(){this.options.attributionControl&&(new Ze).addTo(this)});Te.Layers=Me,Te.Zoom=Ce,Te.Scale=Se,Te.Attribution=Ze,ze.layers=function(t,i,e){return new Me(t,i,e)},ze.zoom=function(t){return new Ce(t)},ze.scale=function(t){return new Se(t)},ze.attribution=function(t){return new Ze(t)};var Ee=v.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ee.addTo=function(t,i){return t.addHandler(i,this),this};var ke,Ae={Events:li},Be=qi?"touchstart mousedown":"mousedown",Ie={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},Oe={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},Re=ci.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){l(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(mt(this._dragStartTarget,Be,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Re._dragging===this&&this.finishDrag(),ft(this._dragStartTarget,Be,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!$(this._element,"leaflet-zoom-anim")&&!(Re._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(Re._dragging=this,this._preventOutline&&ct(this._element),ut(),fi(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t,e=dt(this._element);this._startPoint=new x(i.clientX,i.clientY),this._parentScale=pt(e),mt(document,Oe[t.type],this._onMove,this),mt(document,Ie[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new x(i.clientX,i.clientY)._subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)1e-7;h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new M(a*e,t.x*e/n)}},He=(Object.freeze||Object)({LonLat:je,Mercator:We,SphericalMercator:mi}),Fe=i({},pi,{code:"EPSG:3395",projection:We,transformation:function(){var t=.5/(Math.PI*We.R);return Z(t,.5,-t,.5)}()}),Ue=i({},pi,{code:"EPSG:4326",projection:je,transformation:Z(1/180,1,-1/180,.5)}),Ve=i({},di,{projection:je,transformation:Z(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});di.Earth=pi,di.EPSG3395=Fe,di.EPSG3857=yi,di.EPSG900913=xi,di.EPSG4326=Ue,di.Simple=Ve;var qe=ci.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[n(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var e=this.getEvents();i.on(e,this),this.once("remove",function(){i.off(e,this)},this)}this.onAdd(i),this.getAttribution&&i.attributionControl&&i.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),i.fire("layeradd",{layer:this})}}});be.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=n(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=n(t);return this._layers[i]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&n(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?oi(t)?t:[t]:[]).length;ithis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()i)return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=C(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new T,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return jt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=jt(t),n=0,o=t.length;n=2&&i[0]instanceof M&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){nn.prototype._setLatLngs.call(this,t),jt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return jt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new x(i,i);if(t=new P(t.min.subtract(e),t.max.add(e)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||nn.prototype._containsPoint.call(this,t,!0)}}),sn=Ke.extend({initialize:function(t,i){l(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=oi(t)?t:t.features;if(o){for(i=0,e=o.length;i0?o:[i.src]}else{oi(this._url)||(this._url=[this._url]),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop;for(var a=0;ao?(i.height=o+"px",Q(t,"leaflet-popup-scrolled")):tt(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();at(this._container,i.add(e))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,i=parseInt(q(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new x(this._containerLeft,-e-this._containerBottom);o._add(ht(this._container));var s=t.layerPointToContainerPoint(o),r=w(this.options.autoPanPadding),a=w(this.options.autoPanPaddingTopLeft||r),h=w(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),Lt(t)},_getAnchor:function(){return w(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});be.mergeOptions({closePopupOnClick:!0}),be.include({openPopup:function(t,i,e){return t instanceof cn||(t=new cn(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),qe.include({bindPopup:function(t,i){return t instanceof cn?(l(t,i),this._popup=t,t._source=this):(this._popup&&!i||(this._popup=new cn(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){if(t instanceof qe||(i=t,t=this),t instanceof Ke)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Lt(t),i instanceof Qe?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var _n=ln.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){ln.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){ln.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=ln.prototype.getEvents.call(this);return qi&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=G("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=w(this.options.offset),u=this._getAnchor();"top"===s?t=t.add(w(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t=t.subtract(w(r/2-h.x,-h.y,!0)):"center"===s?t=t.subtract(w(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.xthis.options.maxZoom||en&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*i;s<2*i+2;s++){var r=new x(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,e);else{for(var c=o.min.y;c<=o.max.y;c++)for(var _=o.min.x;_<=o.max.x;_++){var d=new x(_,c);if(d.z=this._tileZoom,this._isValidTile(d)){var p=this._tiles[this._tileCoordsToKey(d)];p?p.current=!0:r.push(d)}}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var m=document.createDocumentFragment();for(_=0;_e.max.x)||!i.wrapLat&&(t.ye.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new T(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new x(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(K(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){Q(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=r,t.onmousemove=r,Li&&this.options.opacity<1&&nt(t,this.options.opacity),zi&&!Mi&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var n=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),e(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&f(e(this._tileReady,this,t,null,s)),at(s,n),this._tiles[o]={el:s,coords:t,current:!0},i.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,i,n){i&&this.fire("tileerror",{error:i,tile:n,coords:t});var o=this._tileCoordsToKey(t);(n=this._tiles[o])&&(n.loaded=+new Date,this._map._fadeAnimated?(nt(n.el,0),g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),i||(Q(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Li||!this._map._fadeAnimated?f(this._pruneTiles,this):setTimeout(e(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new x(this._wrapX?s(t.x,this._wrapX):t.x,this._wrapY?s(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new P(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),mn=pn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=l(this,i)).detectRetina&&Yi&&i.maxZoom>0&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),"string"==typeof i.subdomains&&(i.subdomains=i.subdomains.split("")),zi||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url=t,i||this.redraw(),this},createTile:function(t,i){var n=document.createElement("img");return mt(n,"load",e(this._tileOnLoad,this,i,n)),mt(n,"error",e(this._tileOnError,this,i,n)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(n.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Yi?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,i){Li?setTimeout(e(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.getAttribute("src")!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom,e=this.options.zoomReverse,n=this.options.zoomOffset;return e&&(t=i-t),t+n},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=r,i.onerror=r,i.complete||(i.src=si,K(i),delete this._tiles[t]))},_removeTile:function(t){var i=this._tiles[t];if(i)return Si||i.el.setAttribute("src",si),pn.prototype._removeTile.call(this,t)},_tileReady:function(t,i,e){if(this._map&&(!e||e.getAttribute("src")!==si))return pn.prototype._tileReady.call(this,t,i,e)}}),fn=mn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=l(this,e)).detectRetina&&Yi?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[i]=this._crs.code,mn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=b(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Ue?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=mn.prototype.getTileUrl.call(this,t);return a+c(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});mn.WMS=fn,Jt.wms=function(t,i){return new fn(t,i)};var gn=qe.extend({options:{padding:.1,tolerance:0},initialize:function(t){l(this,t),n(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&Q(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=ht(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);ji?rt(this._container,a,e):at(this._container,a)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new P(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),vn=gn.extend({getEvents:function(){var t=gn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){gn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");mt(t,"mousemove",o(this._onMouseMove,32,this),this),mt(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),mt(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){g(this._redrawRequest),delete this._ctx,K(this._container),ft(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var t in this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},gn.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Yi?2:1;at(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+"px",i.style.height=e.y+"px",Yi&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){gn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[n(t)]=t;var i=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,o=i.prev;e?e.prev=o:this._drawLast=o,o?o.next=e:this._drawFirst=e,delete this._drawnLayers[t._leaflet_id],delete t._order,delete this._layers[n(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var i,e=t.options.dashArray.split(/[, ]+/),n=[];for(i=0;i')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),xn={_initContainer:function(){this._container=G("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(gn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=yn("shape");Q(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=yn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;K(i),t.removeInteractiveTarget(i),delete this._layers[n(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=yn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=oi(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=yn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){X(t._container)},_bringToBack:function(t){J(t._container)}},wn=$i?yn:E,Pn=gn.extend({getEvents:function(){var t=gn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=wn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=wn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){K(this._container),ft(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){gn.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),at(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=wn("path");t.options.className&&Q(i,t.options.className),t.options.interactive&&Q(i,"leaflet-interactive"),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){K(t._path),t.removeInteractiveTarget(t._path),delete this._layers[n(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,k(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){X(t._path)},_bringToBack:function(t){J(t._path)}});$i&&Pn.include(xn),be.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this._createRenderer()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=this._createRenderer({pane:t}),this._paneRenderers[t]=i),i},_createRenderer:function(t){return this.options.preferCanvas&&$t(t)||Qt(t)}});var Ln=on.extend({initialize:function(t,i){on.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=z(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Pn.create=wn,Pn.pointsToPath=k,sn.geometryToLayer=Ft,sn.coordsToLatLng=Ut,sn.coordsToLatLngs=Vt,sn.latLngToCoords=qt,sn.latLngsToCoords=Gt,sn.getFeature=Kt,sn.asFeature=Yt,be.mergeOptions({boxZoom:!0});var bn=Ee.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){mt(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ft(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){K(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),fi(),ut(),this._startPoint=this._map.mouseEventToContainerPoint(t),mt(document,{contextmenu:Lt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=G("div","leaflet-zoom-box",this._container),Q(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new P(this._point,this._startPoint),e=i.getSize();at(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(K(this._box),tt(this._container,"leaflet-crosshair")),gi(),lt(),ft(document,{contextmenu:Lt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(e(this._resetState,this),0);var i=new T(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});be.addInitHook("addHandler","boxZoom",bn),be.mergeOptions({doubleClickZoom:!0});var Tn=Ee.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});be.addInitHook("addHandler","doubleClickZoom",Tn),be.mergeOptions({dragging:!0,inertia:!Mi,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var zn=Ee.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Re(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}Q(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){tt(this._map._container,"leaflet-grab"),tt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=z(this._map.options.maxBounds);this._offsetLimit=b(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),this._prunePositions(i)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.xi.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)0?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});be.addInitHook("addHandler","scrollWheelZoom",Cn),be.mergeOptions({tap:!0,tapTolerance:15});var Sn=Ee.extend({addHooks:function(){mt(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ft(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(Pt(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new x(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&Q(n,"leaflet-active"),this._holdTimeout=setTimeout(e(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),mt(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),ft(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],e=i.target;e&&e.tagName&&"a"===e.tagName.toLowerCase()&&tt(e,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new x(i.clientX,i.clientY),this._simulateEvent("mousemove",i)},_simulateEvent:function(t,i){var e=document.createEvent("MouseEvents");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});qi&&!Vi&&be.addInitHook("addHandler","tap",Sn),be.mergeOptions({touchZoom:qi&&!Mi,bounceAtZoomLimits:!0});var Zn=Ee.extend({addHooks:function(){Q(this._map._container,"leaflet-touch-zoom"),mt(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){tt(this._map._container,"leaflet-touch-zoom"),ft(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),"center"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(e.add(n)._divideBy(2))),this._startDist=e.distanceTo(n),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),mt(document,"touchmove",this._onTouchMove,this),mt(document,"touchend",this._onTouchEnd,this),Pt(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,n=i.mouseEventToContainerPoint(t.touches[0]),o=i.mouseEventToContainerPoint(t.touches[1]),s=n.distanceTo(o)/this._startDist;if(this._zoom=i.getScaleZoom(s,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoomi.getMaxZoom()&&s>1)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=n._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),g(this._animRequest);var a=e(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=f(a,this,!0),Pt(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,g(this._animRequest),ft(document,"touchmove",this._onTouchMove),ft(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});be.addInitHook("addHandler","touchZoom",Zn),be.BoxZoom=bn,be.DoubleClickZoom=Tn,be.Drag=zn,be.Keyboard=Mn,be.ScrollWheelZoom=Cn,be.Tap=Sn,be.TouchZoom=Zn,Object.freeze=ti,t.version="1.3.4+HEAD.0e566b2",t.Control=Te,t.control=ze,t.Browser=Qi,t.Evented=ci,t.Mixin=Ae,t.Util=ui,t.Class=v,t.Handler=Ee,t.extend=i,t.bind=e,t.stamp=n,t.setOptions=l,t.DomEvent=Pe,t.DomUtil=ve,t.PosAnimation=Le,t.Draggable=Re,t.LineUtil=Ne,t.PolyUtil=De,t.Point=x,t.point=w,t.Bounds=P,t.bounds=b,t.Transformation=S,t.transformation=Z,t.Projection=He,t.LatLng=M,t.latLng=C,t.LatLngBounds=T,t.latLngBounds=z,t.CRS=di,t.GeoJSON=sn,t.geoJSON=Xt,t.geoJson=an,t.Layer=qe,t.LayerGroup=Ge,t.layerGroup=function(t,i){return new Ge(t,i)},t.FeatureGroup=Ke,t.featureGroup=function(t){return new Ke(t)},t.ImageOverlay=hn,t.imageOverlay=function(t,i,e){return new hn(t,i,e)},t.VideoOverlay=un,t.videoOverlay=function(t,i,e){return new un(t,i,e)},t.DivOverlay=ln,t.Popup=cn,t.popup=function(t,i){return new cn(t,i)},t.Tooltip=_n,t.tooltip=function(t,i){return new _n(t,i)},t.Icon=Ye,t.icon=function(t){return new Ye(t)},t.DivIcon=dn,t.divIcon=function(t){return new dn(t)},t.Marker=$e,t.marker=function(t,i){return new $e(t,i)},t.TileLayer=mn,t.tileLayer=Jt,t.GridLayer=pn,t.gridLayer=function(t){return new pn(t)},t.SVG=Pn,t.svg=Qt,t.Renderer=gn,t.Canvas=vn,t.canvas=$t,t.Path=Qe,t.CircleMarker=tn,t.circleMarker=function(t,i){return new tn(t,i)},t.Circle=en,t.circle=function(t,i,e){return new en(t,i,e)},t.Polyline=nn,t.polyline=function(t,i){return new nn(t,i)},t.Polygon=on,t.polygon=function(t,i){return new on(t,i)},t.Rectangle=Ln,t.rectangle=function(t,i){return new Ln(t,i)},t.Map=be,t.map=function(t,i){return new be(t,i)};var En=window.L;t.noConflict=function(){return window.L=En,this},window.L=t}); !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e.Leaflet=e.Leaflet||{},e.Leaflet.markercluster=e.Leaflet.markercluster||{}))}(this,function(e){"use strict";var t=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire("layeradd",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire("layeradd",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire("layeradd",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,i=this._zoom;if(e.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?e.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire("layerremove",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire("layerremove",{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire("layerremove",{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var i,n=this._featureGroup,r=this._nonPointGroup,s=this.options.chunkedLoading,o=this.options.chunkInterval,a=this.options.chunkProgress,h=e.length,l=0,u=!0;if(this._map){var _=(new Date).getTime(),d=L.bind(function(){for(var c=(new Date).getTime();h>l;l++){if(s&&0===l%200){var p=(new Date).getTime()-c;if(p>o)break}if(i=e[l],i instanceof L.LayerGroup)u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length;else if(i.getLatLng){if(!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&2===i.__parent.getChildCount())){var f=i.__parent.getAllChildMarkers(),m=f[0]===i?f[1]:f[0];n.removeLayer(m)}}else r.addLayer(i),t||this.fire("layeradd",{layer:i})}a&&a(l,h,(new Date).getTime()-_),l===h?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(d,this.options.chunkDelay)},this);d()}else for(var c=this._needsClustering;h>l;l++)i=e[l],i instanceof L.LayerGroup?(u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length):i.getLatLng?this.hasLayer(i)||c.push(i):r.addLayer(i);return this},removeLayers:function(e){var t,i,n=e.length,r=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire("layerremove",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=n;for(t=0;h>t;t++)i=a[t],i instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire("layerremove",{layer:i}),r.hasLayer(i)&&(r.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire("layerremove",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],this._needsRemoving=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;t>=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,n,r,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),n=s.length-1;n>=0;n--){for(i=!0,r=o.length-1;r>=0;r--)if(o[r].layer===s[n]){i=!1;break}i&&e.call(t,s[n])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer(function(t){e.push(t)}),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer(function(i){L.stamp(i)===e&&(t=i)}),t},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;t>=0;t--)if(i[t]===e)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){"function"!=typeof t&&(t=function(){});var i=function(){!e._icon&&!e.__parent._icon||this._inZoomAnimation||(this._map.off("moveend",i,this),this.off("animationend",i,this),e._icon?t():e.__parent._icon&&(this.once("spiderfied",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoomt;t++)n=this._needsRemoving[t],n.newlatlng=n.layer._latlng,n.layer._latlng=n.latlng;for(t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],this._removeLayer(n.layer,!0),n.layer._latlng=n.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;i>=0;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,n=this._gridUnclustered,r=Math.floor(this._map.getMinZoom());t>=r&&n[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){var t=e.target.__dragStart;delete e.target.__dragStart,t&&this._moveChild(e.target,t,e.target._latlng)},_removeLayer:function(e,t,i){var n=this._gridClusters,r=this._gridUnclustered,s=this._featureGroup,o=this._map,a=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoomt?"small":100>t?"medium":"large",new L.DivIcon({html:"
    "+t+"
    ",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick;(t||n)&&this.on("clusterclick",this._zoomOrSpiderfy,this),i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),e.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){for(var t=e.layer,i=t;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,n=this._map;(e||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this),t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),n.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,n=i;"function"!=typeof i&&(n=function(){return i}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var r=e;r>=t;r--)this._gridClusters[r]=new L.DistanceGrid(n(r)),this._gridUnclustered[r]=new L.DistanceGrid(n(r));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,n,r=this._gridClusters,s=this._gridUnclustered,o=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=o;t--){i=this._map.project(e.getLatLng(),t);var a=r[t].getNearObject(i);if(a)return a._addChild(e),e.__parent=a,void 0;if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);r[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l,e.__parent=l;var u=l;for(n=t-1;n>h._zoom;n--)u=new this._markerCluster(this,n,u),r[n].addObject(u,this._map.project(a.getLatLng(),n));return h._addChild(u),this._removeFromGridUnclustered(a,t),void 0}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;ee?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return void 0!==t&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,n=e.getLayers(),r=0;for(t=t||[];r=0;i--)o=h[i],n.contains(o._latlng)||r.removeLayer(o)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(n,e,t,function(e){e._recursivelyRestoreChildPositions(t)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(n,e,s,function(e){r.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,n=this._featureGroup;n.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){n.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,i){var n=this._getExpandedVisibleBounds(),r=Math.floor(this._map.getMinZoom());e._recursivelyAnimateChildrenInAndAddSelfToMap(n,r,t+1,i);var s=this;this._forceLayout(),e._recursivelyBecomeVisible(n,i),this._enqueue(function(){if(1===e._childCount){var o=e._markers[0];this._ignoreMove=!0,o.setLatLng(o.getLatLng()),this._ignoreMove=!1,o.clusterShow&&o.clusterShow()}else e._recursively(n,i,r,function(e){e._recursivelyRemoveChildrenFromMap(n,r,t+1)});s._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var i=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,i,n){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),n&&this._addChild(n)},getAllChildMarkers:function(e,t){e=e||[];for(var i=this._childClusters.length-1;i>=0;i--)this._childClusters[i].getAllChildMarkers(e);for(var n=this._markers.length-1;n>=0;n--)t&&this._markers[n].__dragStart||e.push(this._markers[n]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,i=this._childClusters.slice(),n=this._group._map,r=n.getBoundsZoom(this._bounds),s=this._zoom+1,o=n.getZoom();i.length>0&&r>s;){s++;var a=[];for(t=0;ts?this._group._map.setView(this._latlng,s):o>=r?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,n,r=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())},function(e){var i,n,r=e._childClusters;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,i,n){this._recursively(e,n,t,function(r){r._recursivelyAnimateChildrenIn(e,r._group._map.latLngToLayerPoint(r.getLatLng()).round(),i),r._isSingleParent()&&i-1===n?(r.clusterShow(),r._recursivelyRemoveChildrenFromMap(e,t,i)):r.clusterHide(),r._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(e,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(n){if(t!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var s=n._markers[r];i.contains(s._latlng)&&(e&&(s._backupLatlng=s.getLatLng(),s.setLatLng(e),s.clusterHide&&s.clusterHide()),n._group._featureGroup.addLayer(s))}},function(t){t._addToMap(e)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i,n){var r,s;this._recursively(e,t-1,i-1,function(e){for(s=e._markers.length-1;s>=0;s--)r=e._markers[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())},function(e){for(s=e._childClusters.length-1;s>=0;s--)r=e._childClusters[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())})},_recursively:function(e,t,i,n,r){var s,o,a=this._childClusters,h=this._zoom;if(h>=t&&(n&&n(this),r&&h===i&&r(this)),t>h||i>h)for(s=a.length-1;s>=0;s--)o=a[s],o._boundsNeedUpdate&&o._recalculateBounds(),e.intersects(o._bounds)&&o._recursively(e,t,i,n,r)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var e=this.options.opacity;return this.setOpacity(0),this.options.opacity=e,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),n=this._getCoord(t.y),r=this._grid,s=r[n]=r[n]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,n,r=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[r]=a[r]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,n=h.length;n>i;i++)if(h[i]===e)return h.splice(i,1),1===n&&delete a[r],!0},eachObject:function(e,t){var i,n,r,s,o,a,h,l=this._grid;for(i in l){o=l[i];for(n in o)for(a=o[n],r=0,s=a.length;s>r;r++)h=e.call(t,a[r]),h&&(r--,s--)}},getNearObject:function(e){var t,i,n,r,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,c=null;for(t=u-1;u+1>=t;t++)if(r=this._grid[t])for(i=l-1;l+1>=i;i++)if(s=r[i])for(n=0,o=s.length;o>n;n++)a=s[n],h=this._sqDist(_[L.Util.stamp(a)],e),(d>h||d>=h&&null===c)&&(d=h,c=a);return c},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n}},function(){L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat,n=t[0].lng-t[1].lng;return n*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,n,r,s=0,o=null,a=[];for(i=t.length-1;i>=0;i--)n=t[i],r=this.getDistant(n,e),r>0&&(a.push(n),r>s&&(s=r,o=n));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],n=this.findMostDistantPointFromBaseLine(e,t);return n.maxPoint?(i=i.concat(this.buildConvexHull([e[0],n.maxPoint],n.newPoints)),i=i.concat(this.buildConvexHull([n.maxPoint,e[1]],n.newPoints))):[e[0]]},getConvexHull:function(e){var t,i=!1,n=!1,r=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;t>=0;t--){var d=e[t];(i===!1||d.lat>i)&&(o=d,i=d.lat),(n===!1||d.latr)&&(h=d,r=d.lng),(s===!1||d.lng=0;t--)e=i[t].getLatLng(),n.push(e);return L.QuickHull.getConvexHull(n)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(null,!0),i=this._group,n=i._map,r=n.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,t.length>=this._circleSpiralSwitchover?e=this._generatePointsSpiral(t.length,r):(r.y+=10,e=this._generatePointsCircle(t.length,r)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e),s=r/this._2PI,o=this._2PI/e,a=[];for(s=Math.max(s,35),a.length=e,i=0;e>i;i++)n=this._circleStartAngle+i*o,a[i]=new L.Point(t.x+s*Math.cos(n),t.y+s*Math.sin(n))._round();return a},_generatePointsSpiral:function(e,t){var i,n=this._group.options.spiderfyDistanceMultiplier,r=n*this._spiralLengthStart,s=n*this._spiralFootSeparation,o=n*this._spiralLengthFactor*this._2PI,a=0,h=[];for(h.length=e,i=e;i>=0;i--)e>i&&(h[i]=new L.Point(t.x+r*Math.cos(a),t.y+r*Math.sin(a))._round()),a+=s/r+5e-4*i,r+=o/a;return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,n=i._map,r=i._featureGroup,s=this.getAllChildMarkers(null,!0);for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;t>=0;t--)e=s[t],r.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(n.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire("unspiderfied",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,n,r,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i=0;i--)a=u.layerPointToLatLng(t[i]),n=e[i],n._preSpiderfyLatlng=n._latlng,n.setLatLng(a),n.clusterShow&&n.clusterShow(),p&&(r=n._spiderLeg,s=r._path,s.style.strokeDashoffset=0,r.setStyle({opacity:m}));this.setOpacity(.3),l._ignoreMove=!1,setTimeout(function(){l._animationEnd(),l.fire("spiderfied",{cluster:h,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,n,r,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(null,!0),c=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;i>=0;i--)t=d[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),c&&(n=t._spiderLeg,r=n._path,s=r.getTotalLength()+.1,r.style.strokeDashoffset=s,n.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&e++;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),e>1&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire("unspiderfied",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy() },_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=i}); var page_tracker=0; var pin_images=mapfunctions_vars.pin_images; var images=jQuery.parseJSON(pin_images); var ipad_time=0; var infobox_id=0; var shape={ coord: [1, 1, 1, 38, 38, 59, 59, 1], type: 'poly' }; var mcOptions; var markers_cluster; var clusterStyles; var infoBox; var infobox_width; var poi_marker_array=[]; var poi_type=''; var placeCircle=''; var circleLayer=''; var initial_geolocation_circle_flag=0; var bounds_list; var curent_gview_lat=jQuery('#gmap_wrapper').attr('data-cur_lat'); var curent_gview_long=jQuery('#gmap_wrapper').attr('data-cur_long'); function wpestate_show_pins_filters_from_file(){ "use strict"; if(jQuery("#a_filter_action").length==0){ var action=jQuery('#second_filter_action').attr('data-value'); var category=jQuery('#second_filter_categ').attr('data-value'); var city=jQuery('#second_filter_cities').attr('data-value'); var area=jQuery('#second_filter_areas').attr('data-value'); var county=jQuery('#second_filter_county').attr('data-value'); }else{ var action=jQuery('#a_filter_action').attr('data-value'); var category=jQuery('#a_filter_categ').attr('data-value'); var city=jQuery('#a_filter_cities').attr('data-value'); var area=jQuery('#a_filter_areas').attr('data-value'); var county=jQuery('#a_filter_county').attr('data-value'); } if(typeof(action)!=='undefined'){ action=action.toLowerCase().trim().replace(" ", "-"); } if(typeof(action)!=='undefined'){ category=category.toLowerCase().trim().replace(" ", "-"); } if(typeof(action)!=='undefined'){ city=city.toLowerCase().trim().replace(" ", "-"); } if(typeof(action)!=='undefined'){ area=area.toLowerCase().trim().replace(" ", "-"); } if(typeof infoBox!=='undefined'&&infoBox!==null){ infoBox.close(); } var bounds=new google.maps.LatLngBounds(); if(!isNaN(markers_cluster)){ markers_cluster.setIgnoreHidden(true); } if(typeof gmarkers!=='undefined'){ for (var i=0; i -1){ return true; }else{ return false; }} function wprentals_google_setMarkers(map, locations){ "use strict"; var custom_info,pin_price,beach, id, lat, lng, title, pin, counter, image, price, single_first_type, single_first_action, link, city, area, cleanprice, rooms, baths, size, single_first_type_name, single_first_action_name, map_open, myLatLng, selected_id, open_height, boxText, closed_height, width_browser, infobox_width, vertical_pan, myOptions,status, i, slug1, val1, how1, slug2, val2, how2, slug3, val3, how3, slug4, val4, how4, slug5, val5, how5, slug6, val6, how6, slug7, val7, how7, slug8, val8, how8; selected_id=parseInt(jQuery('#gmap_wrapper').attr('data-post_id'), 10); if(isNaN(selected_id)){ selected_id=parseInt(jQuery('#google_map_on_list').attr('data-post_id'), 10); } open_height=parseInt(mapfunctions_vars.open_height, 10); closed_height=parseInt(mapfunctions_vars.closed_height, 10); boxText=document.createElement("div"); width_browser=jQuery(window).width(); infobox_width=700; vertical_pan=-215; if(width_browser < 900){ infobox_width=500; } if(width_browser < 600){ infobox_width=400; } if(width_browser < 400){ infobox_width=200; } myOptions={ content: boxText, disableAutoPan: true, maxWidth: infobox_width, boxClass: "mybox", zIndex: null, closeBoxMargin: "-13px 0px 0px 0px", closeBoxURL: "", infoBoxClearance: new google.maps.Size(1, 1), isHidden: false, pane: "floatPane", enableEventPropagation: false }; infoBox=new InfoBox(myOptions); for (i=0; i < locations.length; i++){ beach=locations[i]; id=beach[10]; lat=beach[1]; lng=beach[2]; title=decodeURIComponent(beach[0]); pin=beach[8]; counter=beach[3]; image=decodeURIComponent(beach[4]); price=decodeURIComponent(beach[5]); single_first_type=decodeURIComponent(beach[6]); single_first_action=decodeURIComponent(beach[7]); link=decodeURIComponent(beach[9]); city=decodeURIComponent(beach[11]); area=decodeURIComponent(beach[12]); cleanprice=beach[13]; rooms=beach[14]; baths=beach[15]; size=beach[16]; single_first_type_name=decodeURIComponent(beach[17]); single_first_action_name=decodeURIComponent(beach[18]); status=decodeURIComponent(beach[19]); pin_price=decodeURIComponent(beach[20]); custom_info=decodeURIComponent(beach[21]); if(mapfunctions_vars.custom_search==='yes'){ i=1; slug1=beach[19+i]; val1=beach[20+i]; how1=beach[21+i]; slug2=beach[22+i]; val2=beach[23+i]; how2=beach[24+i]; slug3=beach[25+i]; val3=beach[26+i]; how3=beach[27+i]; slug4=beach[28+i]; val4=beach[29+i]; how4=beach[30+i]; slug5=beach[31+i]; val5=beach[32+i]; how5=beach[33+i]; slug6=beach[34+i]; val6=beach[35+i]; how6=beach[36+i]; slug7=beach[37+i]; val7=beach[38+i]; how7=beach[39+i]; slug8=beach[40+i]; val8=beach[41+i]; how8=beach[42+i]; } wpestate_createMarker(pin_price,infobox_width ,size, i, id, lat, lng, pin, title, counter, image, price, single_first_type, single_first_action, link, city, area, rooms, baths, cleanprice, slug1, val1, how1, slug2, val2, how2, slug3, val3, how3, slug4, val4, how4, slug5, val5, how5, slug6, val6, how6, slug7, val7, how7, slug8, val8, how8, single_first_type_name, single_first_action_name,status,custom_info); if(selected_id===id){ found_id=i; }} if(mapfunctions_vars.generated_pins!=='0'){ myLatLng=new google.maps.LatLng(lat, lng); if(map_is_pan===0){ wpestate_pan_to_last_pin(myLatLng); oms=new OverlappingMarkerSpiderfier(map); setOms(gmarkers); oms.addListener('spiderfy', function (markers){ }); oms.addListener('unspiderfy ', function (markers){ }); } map_is_pan=0; } if(mapfunctions_vars.is_prop_list==='1'||mapfunctions_vars.is_tax==='1'){ wpestate_show_pins_filters_from_file(); }} function wpestate_createMarker(pin_price,infobox_width, size, i, id, lat, lng, pin, title, counter, image, price, single_first_type, single_first_action, link, city, area, rooms, baths, cleanprice, slug1, val1, how1, slug2, val2, how2, slug3, val3, how3, slug4, val4, how4, slug5, val5, how5, slug6, val6, how6, slug7, val7, how7, slug8, val8, how8, single_first_type_name, single_first_action_name,status,custom_info){ "use strict"; var marker, myLatLng; var Titlex=jQuery('